2017-10-29 217 views
1

所以,我有一个脚本调用备份设备的其他脚本。Cron作业和php脚本

问题是,如果我手动调用主屏幕会话中打开其他两个主脚本,一切工作正常。 它调用的2个脚本基本上通过php脚本将数据发送到sql服务器。

IE 我也行

$link = mysql_connect("server ip", "username", "password", "database"); 

手动运行(从我的用户目录下运行),它工作正常。

,如果我有cron作业运行时,会当它到达它获得误差

PHP Fatal error: Call to undefined function mysql_connect() in /export/home/myname/my_Scripts/php_script_its_running 

所以脚本的PHP部分运行良好的一点,是它手动工作正常,如果我运行它,而不是当我通过cron运行它,我假设它要么运行一个不同的php实例,因为它由cron运行或类似的奇怪球?或者,idk,还不完全熟悉cron作业。

所以,当我还是比较调试它,它看起来是使用不同版本的PHP比我的用户帐户使用的,5.1的comparred至5.4

不知道如果有一个简单的方法来将其更改为使用我的用户帐户PHP安装程序?不幸的是,我没有root权限。

回答 因此,我运行了一个工作脚本,并添加了phpinfo(),抓取了路径信息并将其添加到cronjob中,以覆盖默认值。

这样的cronjob文件的顶部看起来像

SHELL = /斌/庆典 PATH = /usr/kerberos/bin:/app/php-5.4.3/bin

+0

请看看在[editing-help](http://stackoverflow.com/editing-help)。 – Cyrus

+0

如果不确定,您可以使用'which php'来计划cron作业,看看它是否是正确的实例。我还会检查脚本的权限(或者只是将它们设置为777,以便在权限问题时进行测试)。 –

+0

这是一个美好的夜晚,在我发布这个问题后想通了,如果其他人有这个问题,我会编辑这个问题。 – Rob

回答

1

回答所以,我运行了一个工作脚本,并添加了phpinfo(),获取了路径信息并将其添加到cronjob中,以覆盖默认值。

这样的cronjob文件的顶部看起来像

SHELL = /斌/庆典PATH = /usr/kerberos/bin:/app/php-5.4.3/bin