私はCakephpで動作するcrontabを取得しようとしています(現在、共有Dreamhostサーバーで実行しています)。
本に従ってシェルをセットアップしました。これは、cronの実行または手動での実行のいずれかを介して正常に動作します(両方ともシェルファイルを介して、たとえば:
cron.sh
#########
cd /pathToApp/app/Console
/usr/local/bin/php cake.php updater list_reports
updater は私のシェルであり、list_reports はそのメソッドです。
この問題は、シェルでデータベースにアクセスしようとすると発生します (「シェルでモデルを使用する」、同じリンク)。
エラーメッセージ:
エラー: データベース接続 "SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)" が見つからないか、作成できませんでした。
私の DB セットアップ (サイトは http で正常に動作します。何かを追加する必要がありunix_socket
ますか?
array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'mysql.mydomain.net',
'port' => '3306',
'login' => '*******',
'password' => '*******',
'database' => '*******',
'prefix' => '',
);
私が試したこと:
- へのシンボリックリンクの作成
/var/run/mysqld/mysqld.sock
- 許可が拒否されました - 共有ホスティングでもこれを行うことはできますか?
- 上記のデータベース設定にさまざまな変更を試みましたが、うまくいきませんでした。
- 同様の問題は、localhost を 127.0.0.1 に置き換えることで解決されましたが、ローカルではなく共有ホストを使用しています。