Hello,
I use Zend Authentication with DB and session_start();
If I run on local server with HTML5 Builder it's OK.
When I use the remote Hosting server I have this error:
Warning: require_once(Zend/Session/Abstract.php) [function.require-once]: failed to open stream: No such file or directory in /home/oehbxfhw/public_html/rpcl/Zend/framework/library/Zend/Session.php on line 28
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Session/Abstract.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/oehbxfhw/public_html/rpcl/Zend/framework/library/Zend/Session.php on line 28
Can you help me?
Thanks, Stefano
Hello Stefano
When I was working to solve the same problem for my own application, I discovered that the Zend library is pretty messy in the way it links to other files. For example: Zend/Session.php located in the directory Zend/Framework/Library/Zend is linked to from a file located in the same directory as follows: require_once(Zend/Session.php) instead of the natural would be require_once(Session.php). For some php versions on Linux machines, this will lead to such errors that you have got. The solution is to set up php include libraries so that the correct files are found. Some other people have given you some suggestions, but they do not capture the exact error you get. If we assume that your Zend library is located in the directories /www/rpcl/Zend/, then you need to supplement the value of include_path in php.ini, as follows:
include_path = ".:../:/www:/www/rpcl/Zend/framework/library:/www/rpcl:/www/rpcl/PEAR"
When you do so, the entire Zend library is working fine in the original edition without having to change any of the files.
The most important part is actually getting the ../ as one of the include directories. On some servers it is also important to separate the directories with : instead of ; .
Another deficiency with Html5 builder is that it not always copies all necessary files from the Zend framework, when you deploy. I have found it advisable to copy the entire Zend directory from C:\Program Files (x86)\Embarcadero\HTML5 Builder\5.0\rpcl over to the /www/rpcl directory on the hosting Web server.
By the way, if your hosting server is a shared host, you may not have access to php.ini. But hopefully you have the possibility to put a .user.ini file into your /www directory. Then you can put the include_path directive into that file. The file may have another name, but you can figure out the name by looking up user_ini.filename in php.ini. Use phpinfo() to find it in the 'Local value' section of the output from phpinfo().
Leif K
Edited by: Leif Kåre Lende on Jun 20, 2014 1:32 PM
Edited by: Leif Kåre Lende on Jun 20, 2014 1:39 PM
Edited by: Leif Kåre Lende on Jun 20, 2014 9:50 PM
Edited by: Leif Kåre Lende on Jun 20, 2014 9:56 PM
Connect with Us