[CentOS] Unable to lauch php-script to truncate database

Tue Nov 13 00:30:52 UTC 2012
Mark LaPierre <marklapier at aol.com>

On 11/12/2012 01:38 PM, Johan Vermeulen wrote:
> Dear All,
>
> we have some Nubuilder databases on a Centos6.3 server:
>
> [root at 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 at 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 at 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"?



-- 
     _
    °v°
   /(_)\
    ^ ^  Mark LaPierre
Registerd Linux user No #267004
https://linuxcounter.net/
****