程序是用聊天室的代碼修改的,數(shù)據(jù)庫使用mysql,配置與手冊上相似(在config中使用DB類)。
在連接到gateway的時候,如果客戶端連接使用ws = new WebSocket("ws://127.0.0.1:7272");并在本地開啟gateway服務(wù),則可以正常操作數(shù)據(jù)庫。
但是同樣的代碼拷貝到阿里云ESC上,并在上面開啟gateway,客戶端連接改成ws = new WebSocket("ws://阿里云域名:7272");測試后發(fā)現(xiàn)可以連接到阿里云的gateway服務(wù)(登錄與心跳均正常),但是數(shù)據(jù)庫操作全部無效。
除了客戶端的代碼改成了連接到阿里云的gateway上了,其他代碼一句沒動,但是數(shù)據(jù)庫就出現(xiàn)問題了,請問這是為什么?另外我不知道該如何進行調(diào)試,看不到錯誤代碼。望告知,十分感謝!
啟動的時候不加-d,就是以調(diào)試模式啟動,可以看到具體的報錯。估計是沒裝pdo_mysql擴展。
另外通過php start.php status也能看到服務(wù)統(tǒng)計信息,也能看到是有進程異常退出。
workerman具體調(diào)試方法參見手冊:http://doc3.workerman.net/debug/base.html
status 命令說明參見手冊:http://doc3.workerman.net/advanced/status.html
感謝walkor的及時回復(fù)!
pde_mysql擴展已經(jīng)安裝了。阿里云使用php start.php start會看到下面的錯誤。但是奇怪的是在本地上運行就不會有這個錯誤(完全相同的項目文件)請問我是不是要更改什么路徑之類的東西?
PHP Fatal error: Class 'Config\Db' not found in /root/ftp/Google-/www/lib/Workerman/GatewayWorker/Lib/Db.php on line 40
Fatal error: Class 'Config\Db' not found in /root/ftp/Google-/www/lib/Workerman/GatewayWorker/Lib/Db.php on line 40
WORKER EXIT UNEXPECTED E_ERROR Class 'Config\Db' not found in /root/ftp/Google-/www/lib/Workerman/GatewayWorker/Lib/Db.php on line 40
worker exit with status 65280
我的DB配置文件就如手冊中說的,放在Applications/Chat/Config/Db.php
Db.php的內(nèi)容也和手冊差不多
<?php
namespace Config;
/**
* mysql配置
*/
class Db
{
public static $db1 = array(
'host' => '數(shù)據(jù)庫地址',
'port' => 3306,
'user' => 'root',
'password' => '密碼',
'dbname' => 'chat',
'charset' => 'utf8',
);
}
樓主解決了嗎?我也碰見這個問題,就是找不見這個文件
PHP Fatal error: Class 'Config\Db' not found in E:\work\GatewayWorker\vendor\wo
rkerman\gateway-worker-for-win\src\Lib\Db.php on line 42
-mysql.html for detail