代碼已經(jīng)寫完了,現(xiàn)在要部署到服務(wù)器上。服務(wù)器中運(yùn)行 php start.php start.php
Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html
于是參考文檔安裝這些插件。
1,安裝php-process
yum install php-process
2,修改php.ini,
extension=pcntl.so
extension=/data/home/php-7.0.0/ext/pcntl/modules/pcntl.so
3,重啟php-fpm
ps aux|grep php-fpm
kill -USR2 42891
4,重啟nginx服務(wù)器
./nginx -t
./nginx
5,結(jié)果是失敗的。?
我按照文檔http://doc3.workerman.net/315304
附錄,安裝擴(kuò)展,得到一個(gè)pcntl.so,按照上面的方法配置也是失敗的。
是的,這都被你知道了?。?!
系統(tǒng)環(huán)境是從騰訊云市場里裝的
操作系統(tǒng)里面裝了PHP7.0.0和PHP5.5、5.6...
我現(xiàn)在用的是PHP7
奇怪的是系統(tǒng)里只有一個(gè)php.ini文件。
運(yùn)行 php --ini 查找php.ini文件路徑及位置
[root@VM_0_7_centos /]# php --ini
Configuration File (php.ini) Path: /data/home/server/php-7.0.0/etc
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
關(guān)鍵是這個(gè)服務(wù)器是從騰訊云市場上下載下來的,我不知道config的路徑應(yīng)該設(shè)置在什么地方啊
每一個(gè)PHP發(fā)行版都有自己的二進(jìn)制路徑, 查找配置的正確姿勢是: /path/to/php --ini
這個(gè)定位出來的 php.ini 就是對應(yīng)PHP發(fā)行版的配置文件
[root@VM_0_7_centos bin]# ./php --ini
Configuration File (php.ini) Path: /data/home/server/php-7.0.0/etc
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
經(jīng)過了一下午的折騰
# ps -aux | grep pcntl
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root? ? ?32692? 0.0? 0.0? ?6384? ?700 pts/0? ? S+? ?17:19? ?0:00 grep pcntl
pcntl是有這個(gè)服務(wù)的,可是檢查配置的時(shí)候還是失敗的。
# curl -Ss http://m.wtbis.cn/check.php | php
PHP Version >= 5.3.3? ? ? ? ? ? ? ? ? ?
Extension pcntl check? ? ? ? ? ? ? ? ??
Extension posix check? ? ? ? ? ? ? ?
我說一下解決方法
1,問題
1.1,環(huán)境centos6.5,nginx,php(多版本),mysql
1.2,使用部署服務(wù)端,workerman,測試環(huán)境失敗
# curl -Ss http://m.wtbis.cn/check.php | php
PHP Version >= 5.3.3? ? ? ? ? ? ? ? ? ?
Extension pcntl check? ? ? ? ? ? ? ? ??
Extension posix check? ? ? ? ? ? ? ? ?
2,解決方法
2.1,看下版本
# php -v
PHP 7.0.0 (cli) (built: Dec? 4 2015 23:12:58) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies,
2.2 到官網(wǎng)(http://php.net/releases/)下載 7.0.0
2.3 解壓
tar -zxvf? ?php-7.0.0.tar.gz
2.4?進(jìn)入源碼中的ext/pcntl目錄
cd php-7.0.0/ext/pcntl/
2.5?運(yùn)行 phpize 命令
phpize
2.6? 配置
./configure
2.7 編譯安裝
make && make install
2.8 檢查一下當(dāng)前版本的位置
# ./php --ini
Configuration File (php.ini) Path: /data/home/server/php-7.0.0/etc
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
發(fā)現(xiàn)這個(gè)php.ini文件是沒有的
那么要從/etc/php.ini拷貝到/data/home/server/php-7.0.0/etc
cp /etc/php.ini? /data/home/server/php-7.0.0/etc
2.9 在兩個(gè)php.ini文件中都添加
extension=pcntl.so
3所有的配置完成了,重啟php-fpm和nginx
先用下面的命令找到php-fpm的進(jìn)程,14304
# ps aux |grep php-fpm
root? ? ?14304? 0.0? 0.0 122488? 6516 ?? ? ? ? Ss? ?18:16? ?0:00 php-fpm: master process (/data/home/server/php-7.0.0/etc/php-fpm.conf)
www? ? ? 14305? 0.0? 0.0 138960 16632 ?? ? ? ? S? ? 18:16? ?0:03 php-fpm: pool www? ? ? ? ? ? ? ? ?
www? ? ? 14306? 0.0? 0.0 138964 16684 ?? ? ? ? S? ? 18:16? ?0:03 php-fpm: pool www? ??
用下面的命令重啟
kill -USR2 14304
檢查一下ngnix配置是否正確
ngnix -t
重啟nginx
nginx -s reload
?
4,最后查看結(jié)果
# curl -Ss http://m.wtbis.cn/check.php | php
PHP Version >= 5.3.3? ? ? ? ? ? ? ? ? ?
Extension pcntl check? ? ? ? ? ? ? ? ??
Extension posix check? ? ? ? ? ? ? ? ??