我試圖讓CakePHP的crontab工作(現在在我的共享Dreamhost服務器上運行)。Cakephp Shell無法連接到mysql
我有一個外殼設置爲每book,它通過任一個cron運行或手動執行(都是通過殼文件工作正常,例如:
cron.sh
#########
cd /pathToApp/app/Console
/usr/local/bin/php cake.php updater list_reports
其中更新是我的殼和list_reports一個。方法及其
,當我嘗試訪問該數據庫在外殼(「在你的程序中使用的模型」,相同的鏈接)出現該問題
錯誤消息:
Error: Database connection "SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)" is missing, or could not be created.
我的數據庫設置(網站正常工作http,我需要添加unix_socket
什麼?
array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'mysql.mydomain.net',
'port' => '3306',
'login' => '*******',
'password' => '*******',
'database' => '*******',
'prefix' => '',
);
件事我已經試過:
- 創建符號鏈接
/var/run/mysqld/mysqld.sock
- 權限被拒絕 - 我甚至可以這樣做與共享主機?
- 嘗試上面的數據庫設置的各種更改,沒有運氣。
- 我注意到人們用127.0.0.1替換localhost解決了類似的問題,但我使用共享主機,而不是本地。
從錯誤消息,它聽起來像它試圖連接到本地mysql數據庫,而不是您的遠程數據庫。 – ifunk 2012-07-21 12:28:56
好點,我一直專注於錯誤味精的插座位,沒有注意到「本地」這個詞的含義。它是共享主機,mysql.mydomain.net是通過Dreamhost面板設置的主機名 - 是否與此相關? – 2012-07-21 12:36:31
我不熟悉Dreamhost,但你可以嘗試執行你的腳本: cd/pathToApp/app 控制檯/蛋糕更新程序list_reports – ifunk 2012-07-21 12:56:01