2017-05-10 152 views
2

我有一個php腳本在我的網站的根。我在cPanel中添加了一個cronjob。 它與基本的數據庫操作的工作就像如下圖所示:cpanel cronjob不工作

<?php 
require_once "classes/class.database.php"; 
$db = new database; 
$db->connectToDB(); 
$data = date("Y/m/d H:i"); 
$res = $db->insertRow("cron",array("datetime"),array($data)); 
echo $res; 
?> 

在同一個文件我已經取代這些代碼與下面這是我想安排真正的代碼代碼,但它無法正常工作。如果我手動輸入,它可以工作,但通過這種方式,它不起作用。

真實代碼:

<?php 
require_once "/home/domain/subdomain.domain.com/share/share.php"; 
$share = new share; 
$share->sharePosts(); 
?> 

我不認爲有我的代碼中的錯誤,因爲它的工作原理手動不過,我想知道這一點。我可以記錄這個文件的輸出嗎? 在此先感謝。

+1

打開錯誤報告,'error_reporting(E_ALL)' – Akintunde007

+1

檢查require是否正常工作:http://stackoverflow.com/questions/5560751/php-check-if-require-once-content-is-empty – mayersdesign

+0

當我只是簡單地回顯某些內容時,它會向我發送輸出,但如果發生錯誤,則不會。 –

回答

0

我終於解決了這個問題。 我已啓用以下代碼的錯誤日誌記錄。

error_reporting(E_ALL); 
ini_set("log_errors", 1); 
ini_set("error_log", "/tmp/php-error.log"); 

我試圖郵寄自己(這是cpanels屬性),只是回聲的東西。 郵件成功傳入。然後,我寫錯了代碼(我寫錯了「required_once」的路徑),當我手動執行時,給出了致命的錯誤。致命錯誤未郵寄。之後,我將「require_once」替換爲「include」以避免致命錯誤,然後它發現了一個錯誤,但是這一次它郵寄給我。錯誤是「沒有這樣的文件」。然後我嘗試了這樣的路徑「/home/domain.com/yourcron.php」,沒有錯誤。總之,所有路徑必須像「/home/domain.com/yourcron.php」。