2017-05-10 1 views
2

私は自分のサイトのルートにPHPスクリプトを持っています。私はcpanelにcronjobを追加しました。 、以下に示すようにこれは、基本的なデータベース操作で作業されていますCpanel cronjob not working

<?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

要求が機能しているかどうかを確認してください: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"のようにする必要があります。