On 11/12/2012 01:38 PM, Johan Vermeulen wrote:
Dear All,
we have some Nubuilder databases on a Centos6.3 server:
[root@caw-server2 db]# ls /var/www/html/nubuilder/db reg_begeleidingsteam reg_jww_archief reg_personeel reg_straathoekwerk reg_bib reg_jww_dossiers reg_resident reg_vrijwilligers reg_drughulp reg_jww_dvd reg_signaleren reg_jac_activiteit reg_onthaal reg_sollicitatie
in each database I have placed a executable file cron.php
<?php include "./config.php"; //nuBuilder config file $conn = mysql_connect($DBHost, $DBUser, $DBPassword); mysql_select_db($DBName,$conn); /************************************************************** emptying zzsys_trap and zzsys_variable tables **************************************************************/ $sql = "TRUNCATE TABLE zzsys_trap"; mysql_query($sql); $sql = "TRUNCATE TABLE zzsys_variable"; mysql_query($sql); /************************************************************** Deleting temp tables **************************************************************/ $result=mysql_query("SHOW TABLES FROM $DBName ") or die(mysql_error()); if(mysql_num_rows($result)>0) { while($row=mysql_fetch_row($result)) { if(substr($row[0], 0, 3) === '___'&& strrev(substr($row[0], 0, 3) === '___')) { $sql = "DROP TABLE $row[0]"; mysql_query($sql); } } } ?>
for each file I can easily execute the file cron.php :
[root@caw-server2 reg_bib]# php cron.php
with the desired effect.
*However *when I try to execute the cron.php files from a script :
#!/bin/bash for i in `ls /var/www/html/nubuilder/db` do php /var/www/html/nubuilder/db/$i/cron.php done exit 0
or just try to execute the script from an absolute path: [root@caw-server2 jvermeulen]# php /var/www/html/nubuilder/db/reg_bib/cron.php PHP Warning: include(./config.php): failed to open stream: No such file or directory in /var/www/html/nubuilder/db/reg_bib/cron.php on line 3 PHP Warning: include(): Failed opening './config.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/nubuilder/db/reg_bib/cron.php on line 3 PHP Notice: Undefined variable: DBHost in /var/www/html/nubuilder/db/reg_bib/cron.php on line 4 PHP Notice: Undefined variable: DBUser in /var/www/html/nubuilder/db/reg_bib/cron.php on line 4 PHP Notice: Undefined variable: DBPassword in /var/www/html/nubuilder/db/reg_bib/cron.php on line 4
I get a shipload of EM.
I don't understand why this works but not from an absolute path.
Any help would be greatly appreciated.
greetings, J.
Are you changing your active directory to /var/www/html/nubuilder/db in your shell script first? It looks like your shell script is getting a listing of that directory and then trying to execute your PHP script in that directory which is failing because the parent process that called the PHP script is not currently in the directory where the PHP script is trying to find the files it is supposed to be working with. See where it says, "failed to open stream: No such file"?