Reputation: 179
So, i have a script that calls 2 other scripts that back up devices.
Problem is, If i call the main script manually that opens up the other two in a screen session, everything works fine. The 2 scripts it calls basically sends data to an sql server via a php script.
IE I have the line
$link = mysql_connect("server ip", "username", "password", "database");
Running manually (Which runs from my user directory) it works fine.
If i have the cron job run, it will run fine to a point when it gets to the php section of the script it gets the error
PHP Fatal error: Call to undefined function mysql_connect() in /export/home/myname/my_Scripts/php_script_its_running
So, being that it works correctly if i manually run it, and not when i run it via cron, I am assuming it is either running a different php instance due to it being run by cron or something oddball like that? or, idk, not 100% familiar with cron jobs yet.
So while i was debugging it more, it looks to be using a different version of php than what my user account is using, 5.1 comparred to 5.4
Not sure if there is an easy way to change it to use my user accounts php setup? Unfortunately i have no root access to the box.
Answer So, i ran a working script, and added phpinfo(), grabbed the path information and added that to the cronjob so it would overwrite the defaults.
so the top of the cronjob file looks something like
SHELL=/bin/bash PATH = /usr/kerberos/bin:/app/php-5.4.3/bin
Upvotes: 1
Views: 79
Reputation: 179
Answer So, i ran a working script, and added phpinfo(), grabbed the path information and added that to the cronjob so it would overwrite the defaults.
so the top of the cronjob file looks something like
SHELL=/bin/bash PATH = /usr/kerberos/bin:/app/php-5.4.3/bin
Upvotes: 1