2017-10-29 306 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