Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Error: require(includes/xxx) problem


Recommended Posts

I hope someone can help or point me in the right direction.


oscommerce with PHP5, MySQL 5 Apache2 and FC5 & PLESK 8.1


I have 2 sites I need to transfer to the new server and 1 clean install that needs doing.


the problem is errors on trying to run http://www.domain.com/install


Warning: require(includes/functions/general.php) [function.require]: failed to open stream: No such file or directory in /var/www/vhosts/domain.com/httpdocs/install/includes/application.php on line 22


Fatal error: require() [function.require]: Failed opening required 'includes/functions/general.php' (include_path='/usr/share/pear') in /var/www/vhosts/domain.com/httpdocs/install/includes/application.php on line 22


I get similar errors on a store transfer from a php4 mysql4 setup


on the transfer I can get parts of the store working (but not the admin or search, I havn't tried a lot of other pages yet)

by changing require('includes/configure.php') to require('configure.php) in application_top.php and the other require statment in application_top.php eg. databas_table.php and filenames.php and the define('DIR_WS_INCLUDES', './includes/');


I am at a loss on the way forward here.


any help or pointers would be great



Link to comment
Share on other sites

I belive the problem is that PHP5 does not see relative paths like php4 did


so if you have a require(includes/xxx.php) statement in another file that was "required" PHP5 will not pick it up unless it is an absolute path to the file.


Is there a setting in php.ini or prefreable one that can be set in the .htaccess file?

Link to comment
Share on other sites

  • 1 month later...

Indeed, it happened to me as well. Using php5, I had to change require statements in several php script. A php script in directory a/b/c which required another php script in /a/b/c/d contained the statement require('c/d/somescript.php'). I had to remove the c/ and from that point it worked again (it becomes require('d/somescript.php')


At this point i've just finished the install sequence. The last thing I had to do was change the configure.php script in the admin/includes directory and change the value of DIR_WS_INCLUDES manually, removing includes/ (and leave it empty: define('DIR_WS_INCLUDES', ''); )


Hopefully this is the last script to change...


ps: Don't forget to change the php values if needed: You can just put the next two lines in the .htaccess file in the catalog directory:

php_value register_globals 1

php_value register_long_arrays On


Using: Suse linux 10.0, apache 2.0.54, mysql 4.1.13, php 5.0.4

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...