ファイルをクリーンアップし、古いデータベース エントリを削除するために CRON によって毎日実行される PHP スクリプトを作成しました。
スクリプトの実行に問題はないので、CRON の問題ではないことはわかっています。
問題は、次のエラーが発生することです。
警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1142行の/cron_removeOld.phpのテーブル 'users' のユーザー 'username'@'localhost' に対する SELECT コマンドが拒否されました35
バックエンド管理者ユーザーに同じ DB 資格情報を使用しているため、SELECT 権限があることがわかります。Web サーバーの外部で実行されているスクリプトと関係があるのでしょうか?
どんな助けでも大歓迎です!
クロン:
20 0 * * * php -q /home/user/public_html/tssol/contract/admin/cron_removeOld.php
PHP (35 行目):
$stmt = $dbh->prepare("SELECT idusers, contract FROM users WHERE contractExpireDate <= NOW()");
データベースの信用情報は、他のページと共有されているインクルード ファイルに含まれているため、問題ではないことはわかっています。役立つと思われる場合は投稿します。