用php可擴展特性實現可以遠程保存游戲用戶日志信息,這里我暫時叫他tlog(與文件服務器建立tcp/ip連接,當然最好是udp),目前定義了三個函數.
tlog_init,tlog_record,tlog_close
tlog_init(ip,port)用來連接文件服務器其中ip,port分別為文件服務器地址和端口
tlog_record(message,file)用戶發送要記錄的日志內容和日志保存的文件
tlog_close為關閉發送日志產生的socket鏈接
PHP實例操作代碼如下:
- <?php
- $result = tlog_init("127.0.0.1", 9734);
- if ($result) {
- //開源代碼Vevb.com
- tlog_record("hello" . time(), '1.log');
- tlog_record("hello world" . time(), '2.log');
- tlog_close();
- }
- ?>
我們主要修改config.m4,tlog.c,php_tlog.h實現我們要的功能
打開config.m4,刪除 php_arg_enable(tlog, whether to enable tlog support, 行開始注釋dnl,刪除[ --enable-tlog enable tlog support]) 行開始注釋dnl,打開php_tlog.h 增加:
php_function(tlog_init);
php_function(tlog_record);
php_function(tlog_close);
外t_log.c見包,以上步驟后進入tlog目錄執行
./你的php安裝目錄/bin/phpize 我的目錄為/usr/local/webserver/php5.3.3,則該命令./usr/local/webserver/php5.3.3/bin/phpize
./configure --with-php-config=/usr/local/webserver/php5.3.3/bin/php-config
make
sudo make install(因為我使用的ubuntu,所以帶了sudo主要是php安裝目錄創建擴展時的權限問題)
修改php.ini增加tlog.so擴展,查看phpinfo();
新聞熱點
疑難解答