簡體   English   中英

Cron 作業和 php 腳本

[英]Cron jobs and php scripts

所以,我有一個腳本調用 2 個備份設備的其他腳本。

問題是,如果我手動調用在屏幕會話中打開其他兩個的主腳本,一切正常。 它調用的 2 個腳本基本上通過 php 腳本將數據發送到 sql 服務器。

IE 我有線路

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

手動運行(從我的用戶目錄運行)它工作正常。

如果我運行了 cron 作業,它將運行良好,到達腳本的 php 部分時會出現錯誤

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

所以,如果我手動運行它,它可以正常工作,而不是當我通過 cron 運行它時,我假設它要么運行一個不同的 php 實例,因為它是由 cron 運行的,或者像這樣的奇怪的東西? 或者,idk,還不是 100% 熟悉 cron 作業。

因此,雖然我正在調試它,但它看起來使用的 php 版本與我的用戶帳戶使用的 php 版本不同,5.1 與 5.4 相比

不確定是否有一種簡單的方法可以將其更改為使用我的用戶帳戶 php 設置? 不幸的是,我沒有對盒子的 root 訪問權限。

因此,我運行了一個工作腳本,並添加了 phpinfo(),獲取了路徑信息並將其添加到 cronjob 中,這樣它就會覆蓋默認值。

所以 cronjob 文件的頂部看起來像

SHELL=/bin/bash PATH = /usr/kerberos/bin:/app/php-5.4.3/bin

因此,我運行了一個工作腳本,並添加了 phpinfo(),獲取了路徑信息並將其添加到 cronjob 中,這樣它就會覆蓋默認值。

所以 cronjob 文件的頂部看起來像

SHELL=/bin/bash PATH = /usr/kerberos/bin:/app/php-5.4.3/bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM