In a recent company project, a socket service needs to be built with PHP.
Originally PHP is not suitable for service, because with the third party, need to adopt efficient and stable TCP protocol for data communication. After several attempts, the final choice of the open source PHP extension: Swoole, is written in C-multithreaded asynchronous server.
Swoole Official website: http://www.swoole.com/,http://wiki.swoole.com/wiki/index/prid-1
Swoole Getting Started tutorial and documentation: Https://github.com/LinkedDestiny/swoole-doc
Where binary data communication uses the pack () and unpack () functions that are included with PHP. It is important to note that when you use Pack () to pack letters, you need to pass in their corresponding ASCII code values.
Attach a shell script that closes the socket service (when the code is updated and the socket service needs to be restarted):
#!/bin/SHEcho "start kill socket ..."PID= ' netstat-anp|grep 10001|awk '{printf $7}'|Cut-d/-F1 'Echo "PID: $PID"Kill- - "$PID"Echo "killed PID 10001"#假定此socket服务的端口为10001Kill-usr1
Shell Online Brochure: Http://shouce.jb51.net/shell/index.htmllinux Online Brochure: http://www.hi-docs.com/linux.htmlhttp://man.linuxde.net/
installation steps for the ps:php extension (http://coolerfeng.blog.51cto.com/133059/98460/):
1 First enter the source directory of the extension to be installed
Cd/tmp/phpext/swoole
2 Generate configure files under the Swoole folder #/usr/local/php5/bin/phpize
Configuring for:
PHP Api version:20041225
Zend Module Api no:20060613
The Zend Extension Api no:220060519 appears with such hints that can be extended. 3 Configuring compilation and Installation #./configure--with-php-config=/usr/local/php5/bin/php-config
#make #make INSTALL4 generates a swoole.so file under/opt/php/lib/php/extensions 5 edit php.ini (if PHP is installed in/USR/LOCAL/PHP5 then php.ini in/usr/ Add in Local/php5/lib/php.ini
Extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
Extension = "swoole.so" 6 restarts Apache, and then through Php-m or phpinfo () to see if the swoole extension was successfully loaded.
Using PHP to build a socket service based on Swoole extension (with PHP extension installation steps)