我正在尝试让一个crontab为Cakephp工作(暂时在我的共享Dreamhost服务器上运行)。
我根据book设置了一个shell,它可以通过cron运行或手动执行(通过shell文件,例如:
cron.sh
#########
cd /pathToApp/app/Console
/usr/local/bin/php cake.php updater list_reports
其中updater是我的shell,list_reports是其方法。
当我尝试访问shell中的数据库时出现问题(“在shell中使用模型”,相同的链接)。
错误讯息:
错误:数据库连接“SQLSTATE [HY000] [2002]无法连接到 本地MySQL服务器通过套接字'/var/run/mysqld/mysqld.sock'(2)“ 缺失或无法创建。
我的数据库设置(网站适用于http,我是否需要添加unix_socket
或其他内容?
array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'mysql.mydomain.net',
'port' => '3306',
'login' => '*******',
'password' => '*******',
'database' => '*******',
'prefix' => '',
);
我试过了:
/var/run/mysqld/mysqld.sock
- 权限被拒绝答案 0 :(得分:3)
这是正式的!我是一个db!
我可以确认这个问题不是由Cakephp或Mysql造成的,而是由于我自己完成并忘记了......
我在database.php中有一个小开关来自动检测我是否在开发,测试,登台环境等。我将默认设置设置为本地,并且因为bash脚本没有接收$ _SERVER ['我用于交换机的SERVER_NAME'],默认为我的本地数据库。
感谢ifunk发现线索,这使我能够解开这个并重回正轨!
:)