安装swoole遇到的坑

本文详细介绍了在wdcp系统中安装Swoole扩展的过程,包括下载源码、配置编译参数、解决多PHP版本冲突等问题。

我使用的是wdcp系统,多个php版本,运行的是7.1版本

安装步骤:

1、下载源码

git clone https://github.com/swoole/swoole-src.git

第一个坑:

我使用的是swoole码云的链接,正常安装编译后php -m 没有显示swoole,phpinfo是有显示的

后来使用github地址重复操作,php -m正常显示了swoole,不知道是不是这个原因,但我感觉是

2、进入swoole文件夹,生成configure

cd swoole-src

/www/wdlinux/phps/71/bin/phpize

3、编译安装

./configure --with-php-config=/www/wdlinux/phps/71/bin/php-config

第二个坑:

多个php版本的情况,需要指定版本conifg

4、make && make install

make

make install

输出的/www/wdlinux/phps/71/lib/php/extensions/no-debug-non-zts-20160303/

需要用到,复制

5、修改php.ini

第三个坑:一定要找到指定php版本的php.ini

/www/wdlinux/phps/71/ect/php.ini

添加扩展,上面复制的路径

extension=/www/wdlinux/phps/71/lib/php/extensions/no-debug-non-zts-20160303/swoole.so

6、重启php-fpm

/www/wdlinux/phps/71/bin/php-fpm restart


搞了一天,出了太多错误,差点就要放弃,坚持就是胜利啊~

在PHP中安装Swoole可以分为不同的环境和步骤,以下是几种常见的安装方式: ### CentOS系统环境下综合安装方式 在CentOS系统中,安装Swoole可以按照如下步骤进行: 1. **安装CentOS 7**:包括下载系统、安装系统以及系统初始化等操作。 2. **安装PHP 8.1**:使用SSH连接,更改镜像源后安装PHP 8.1。 3. **安装MySQL 8**。 4. **安装Swoole**。 5. **PHPStorm代码同步**。 6. **PHPStorm连接远程终端**。 7. **PHPStorm安装swoole插件**。 8. **安装Redis** [^1]。 ### 特定PHP版本环境下安装Swoole扩展 当php环境为7.3时,可按以下步骤安装Swoole扩展: ```bash wget https://pecl.php.net/get/swoole-4.6.6.tgz tar -zxvf swoole-4.6.6.tgz cd swoole-4.6.6 /usr/local/php7/bin/phpize ./configure --enable-openssl --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-cares --with-php-config=/usr/local/php7/bin/php-config make make install ``` 上述代码先下载Swoole指定版本的压缩包,解压后进入目录,使用`phpize`初始化编译环境,接着进行配置,最后编译并安装 [^2]。 ### 通用安装扩展方式 使用以下命令安装扩展: ```bash phpize && \ ./configure \ --enable-openssl \ --enable-http2 && \ make && sudo make install ``` 此方式使用`phpize`初始化,配置相关选项后进行编译和安装 [^4]。 ### Laravel项目中安装Swoole扩展 在Laravel项目中,除了安装Swoole扩展,还需要在`Kernel.php`文件中注册Swoole类,示例代码如下: ```php <?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ // \App\Console\Commands\RedisSubscribe::class, \App\Console\Commands\Swoole::class, ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // $schedule->command('inspire') // ->hourly(); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } } ``` 通过上述代码在`Kernel.php`中注册Swoole类,完成在Laravel项目中的相关配置 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值