php-homestead-swoole扩展安装

1.概述:
Swoole是:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,处理异步任务,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

2.Linux系统版本信息:

PHP 7.2.10-0ubuntu0.18.04.1 ;

3.Homestead Perl 方法安装swoole:

1)  安装流程:

1 $ sudo pecl channel-update pecl.php.net   (sudo,否则无法打开文件,发生警告)
2 $ sudo pecl install swoole    (sudo,否则无法打开文件,发生警告)

2)  如果遇见报错:No releases available for package “pecl.php.net/swoole”,解决:

1 $ pear clear-cache
2 $ pear update-channels
3 $ pear upgrade

3)  如果遇见报错:Cannot install, php_dir for channel "pecl.php.net" is not writeable by the current user,解决:

1 pecl config-get php_dir    获取配置文件php_dir参数
2 sudo chown< username> < php_dir>      更改该文件夹的所有权
3 pecl config-set php_dir /path/new/dir    php_dir设置为其他文件夹

4)  根据自己需求,开启扩展支持:

1 enable sockets supports? [no] : 启用套接字支持?[否]
2 enable openssl support? [no] : 启用OpenSSL支持?[否]
3 enable http2 support? [no] : 启用HTTP2支持?[否]
4 enable mysqlnd support? [no] : 启用mysqlnd支持?[否]
5 enable postgresql coroutine client support? [no] : 启用PostgreSQL协程客户端支持?[否]

5) 安装成功显示如下:

1 Build process completed successfully
2 Installing '/usr/lib/php/20151012/swoole.so'
3 Installing '/usr/include/php/20151012/ext/swoole/config.h'
4 install ok: channel://pecl.php.net/swoole-4.2.11
5 configuration option "php_ini" is not set to php.ini location
6 You should add "extension=swoole.so" to php.ini

上面提示了,你应该添加extension=swoole.so到php.ini文件
6)查看php.ini文件位置,命令如下

1 php -i|grep php.ini

结果如下:

1 vagrant@homestead:~$ php -i|grep php.ini
2 Configuration File (php.ini) Path => /etc/php/7.0/cli
3 Loaded Configuration File => /etc/php/7.0/cli/php.ini

7)vim编辑一下 /etc/php/7.0/cli/php.ini,在扩展尾部加上extension=swoole.so,扩展前不要带分号

;extension=php_xsl.dll
extension=swoole.so
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

8)重启php环境

1 sudo service php7.0-fpm restart


9)查看swoole扩展是否安装成功

1 php -m |grep swoole

显示结果:

1 vagrant@homestead:~$ php -m |grep swoole
2 swoole

好了,Homestead安装swoole扩展就此安装成功
// vagrant reload --provision之后,php文件echo phpinfo();同样查看swoole扩展。

原文地址:https://www.cnblogs.com/zgxblog/p/10238807.html