开机自启动,PDO 连接报错的问题,请教

huboy

采用直接修改 /etc/rc.local 文件的方式实现开机启动。

系统报错,日志文件如下:

2017-08-15 18:30:35 pid:808 worker start in DAEMON mode
2017-08-15 18:30:35 pid:2437 exception 'PDOException' with message 'SQLSTATE  Connection refused' in /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php:1697
Stack trace:
#0 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php(1697): PDO->__construct('mysql:dbname=re...', 'root', 'My201765', Array)
#1 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php(1683): GatewayWorker\Lib\DbConnection->connect()
#2 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/Db.php(48): GatewayWorker\Lib\DbConnection->__construct('127.0.0.1', 3306, 'root', 'My201765', 'resheng')
#3 /www/default/resheng/Gateway/Applications/YourApp/Func.php(11): GatewayWorker\Lib\Db::instance('db1')

但是如果手工启动(php start.php start -d)则完全正常。

百思不得其解,难道是启动workerman的时候mysql等服务还未启动???

3500 4 0
4个回答

huboy

忘了说,环境是 CentOS 7.0 ,PHP 5.4 ,MYSQL MYSQL5.5

  • 暂无评论
huboy

为了验证
自动启动代码更改为

(
sleep 60
/usr/bin/php /www/default/resheng/Gateway/start.php start -d
)&

再次重启测试,正常。。 难道真是mysql服务未启动原因??? 不过最好是判断mysql服务有无开启,未开启则等待,开启了则启动workerman ...但这个脚本不会写了。

  • 暂无评论
walkor

Connection refused

你的情况是数据库没启动导致的

  • 暂无评论
huboy

感谢。老大注意休息。

  • 暂无评论
年代过于久远,无法发表回答
🔝