Swoole php module : undefined symbol: spl_ce_Countable 问题
Swoole php module : undefined symbol: spl_ce_Countable issue
我正在尝试在我的机器上安装 swoole
首先:
pecl install swoole
然后我需要一个php模块
cd swoole
phpize
./configure
make
sudo make install
该脚本在我的文件夹中创建了一个 swoole.so,因此我将其添加到我的 php.ini 中:
extension=/usr/lib/php/20151012/swoole.so
当我尝试 php -v 时,我得到:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/swoole.so'(已尝试:/usr/lib/php/20151012/swoole.so(/usr/lib/php/20151012/swoole。所以:未定义的符号:spl_ce_Countable), /usr/lib/php/20170718//usr/lib/php/20151012/swoole.so.so (/usr/lib/php/20170718//usr/lib/php/20151012/swoole.so.so: 无法打开共享对象文件:第 0 行未知中没有这样的文件或目录))
PHP 7.2.13-1+ubuntu16.04.1+deb.sury.org+1 (cli)(内置:2018 年 12 月 7 日 08:07:08)(NTS)
版权所有 (c) 1997-2018 PHP 集团
Zend Engine v3.2.0,版权所有 (c) 1998-2018 Zend Technologies
使用 Zend OPcache v7.2.13-1+ubuntu16.04.1+deb.sury.org+1,版权所有 (c) 1999-2018,Zend Technologies
使用 Xdebug v2.6.1,版权所有 (c) 2002-2018,Derick Rethans
这是什么错误:未定义的符号:spl_ce_Countable?
非常感谢。
我的机器上安装了几个 php 版本。但是 7.2 版没有 php-config 文件。
sudo apt-get install php7.2-dev
这解决了我的问题
感谢@ÁlvaroGonzález
大多数时候,当您尝试加载依赖于尚未加载或未启用的其他扩展的扩展时,会抛出此类错误。因此,建议通过phpenmod
加载。一些 Linux 发行版,如 Debian 或 Ubuntu 使用 PHP mods-available
加载 PHP 扩展。
您可以在以下目录 /etc/php/<PHP_VERSION>/mods-available
中手动为扩展名 openswoole.ini
创建一个文件,其中包含以下数据
; Configuration for Open Swoole
; priority=30
extension=openswoole
或者您可以运行下面的命令,记得将<PHP_VERSION>
更改为您的php版本
sudo bash -c "cat > /etc/php/<PHP_VERSION>/mods-available/openswoole.ini << EOF
; Configuration for Open Swoole
; priority=30
extension=openswoole
EOF"
sudo phpenmod -s cli openswoole
php -m | grep openswoole
我正在尝试在我的机器上安装 swoole
首先:
pecl install swoole
然后我需要一个php模块
cd swoole
phpize
./configure
make
sudo make install
该脚本在我的文件夹中创建了一个 swoole.so,因此我将其添加到我的 php.ini 中:
extension=/usr/lib/php/20151012/swoole.so
当我尝试 php -v 时,我得到:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/swoole.so'(已尝试:/usr/lib/php/20151012/swoole.so(/usr/lib/php/20151012/swoole。所以:未定义的符号:spl_ce_Countable), /usr/lib/php/20170718//usr/lib/php/20151012/swoole.so.so (/usr/lib/php/20170718//usr/lib/php/20151012/swoole.so.so: 无法打开共享对象文件:第 0 行未知中没有这样的文件或目录)) PHP 7.2.13-1+ubuntu16.04.1+deb.sury.org+1 (cli)(内置:2018 年 12 月 7 日 08:07:08)(NTS) 版权所有 (c) 1997-2018 PHP 集团 Zend Engine v3.2.0,版权所有 (c) 1998-2018 Zend Technologies 使用 Zend OPcache v7.2.13-1+ubuntu16.04.1+deb.sury.org+1,版权所有 (c) 1999-2018,Zend Technologies 使用 Xdebug v2.6.1,版权所有 (c) 2002-2018,Derick Rethans
这是什么错误:未定义的符号:spl_ce_Countable?
非常感谢。
我的机器上安装了几个 php 版本。但是 7.2 版没有 php-config 文件。
sudo apt-get install php7.2-dev
这解决了我的问题
感谢@ÁlvaroGonzález
大多数时候,当您尝试加载依赖于尚未加载或未启用的其他扩展的扩展时,会抛出此类错误。因此,建议通过phpenmod
加载。一些 Linux 发行版,如 Debian 或 Ubuntu 使用 PHP mods-available
加载 PHP 扩展。
您可以在以下目录 /etc/php/<PHP_VERSION>/mods-available
中手动为扩展名 openswoole.ini
创建一个文件,其中包含以下数据
; Configuration for Open Swoole
; priority=30
extension=openswoole
或者您可以运行下面的命令,记得将<PHP_VERSION>
更改为您的php版本
sudo bash -c "cat > /etc/php/<PHP_VERSION>/mods-available/openswoole.ini << EOF
; Configuration for Open Swoole
; priority=30
extension=openswoole
EOF"
sudo phpenmod -s cli openswoole
php -m | grep openswoole