Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHPX安装后再安装swoole_zookeeper 报错 #45

Closed
MouseOrCat opened this issue Jan 2, 2024 · 2 comments
Closed

PHPX安装后再安装swoole_zookeeper 报错 #45

MouseOrCat opened this issue Jan 2, 2024 · 2 comments

Comments

@MouseOrCat
Copy link

php版本是8.1的,我安装好了phpx 后在 ext-zookeeper下 执行安装命令:phpx build -v -d 后报错:
PHP Fatal error: Uncaught TypeError: Return value of "phpx\Command\Build::execute()" must be of the type int, "null" returned. in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php:301
Stack trace:
#0 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
swoole/phpx#1 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
swoole/phpx#2 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
swoole/phpx#3 phar:///usr/local/bin/phpx/console.php(17): Symfony\Component\Console\Application->run()
swoole/phpx#4 /usr/local/bin/phpx(10): include('...')
swoole/phpx#5 {main}
thrown in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php on line 301

这个错误我真不知道该怎么解决了,我换成8.0的版本也不行,烦请大佬帮我看一下

@heyanlong
Copy link
Collaborator

Could you submit more information?

@MouseOrCat MouseOrCat closed this as not planned Won't fix, can't repro, duplicate, stale Jan 3, 2024
@MouseOrCat
Copy link
Author

Could you submit more information?

好的,这是我具体的操作步骤,您这边可以试着安装以下看看是否是这样的错误:
安装swoole/ext-zookeeper我先安装了phpx
首先我先安装最新的cmake:https://cmake.org/files/v3.9/cmake-3.9.0.tar.gz

相继输入以下命令:
tar xzvf cmake-3.9.0.tar.gz
cd cmake-3.3.2
./bootstrap
gmake
make install
这样安装好了cmake,接下来安装phpx
相继输入以下命令:
git clone https://github.com/matyhtf/phpx.git
cd phpx
./build.sh
cp bin/phpx /usr/local/bin
cmake .
make -j 4
make install
以上都步骤安装都是没有问题的,偏偏就到了安装swoole/ext-zookeeper时:
第一次我用的是php8.2的版本:
git clone https://github.com/swoole/ext-zookeeper.git
cd ext-zookeeper
phpx build -v -d
就到了phpx build 这里的时候就报错了:这里不知道是不是因为版本原因导致的,但是就一直在这个位置报错:

PHP Fatal error: Uncaught TypeError: Return value of "phpx\Command\Build::execute()" must be of the type int, "null" returned. in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php:301
Stack trace:
#0 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
swoole/phpx#1 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
swoole/phpx#2 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
swoole/phpx#3 phar:///usr/local/bin/phpx/console.php(17): Symfony\Component\Console\Application->run()
swoole/phpx#4 /usr/local/bin/phpx(10): include('...')
swoole/phpx#5 {main}
thrown in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php on line 301

当我无视这个错误时,继续输入命令:
phpx install

虽然还是报这个错误:
PHP Fatal error: Uncaught TypeError: Return value of "phpx\Command\Build::execute()" must be of the type int, "null" returned. in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php:301
Stack trace:
#0 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
swoole/phpx#1 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
swoole/phpx#2 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
swoole/phpx#3 phar:///usr/local/bin/phpx/console.php(17): Symfony\Component\Console\Application->run()
swoole/phpx#4 /usr/local/bin/phpx(10): include('...')
swoole/phpx#5 {main}
thrown in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php on line 301

但是在:
/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902
这个扩展目录下面能够生成:swoole_zookeeper.so这个文件,
我就把这个扩展文件加入到php配置文件中配置好,当我是php8.2的版本的时候:
php-m 命令显示出能够加载swoole_zookeeper这个扩展,当我以为成功后,我在项目使用zookeeper结果报了这个错误:

PHP Fatal error: Uncaught ErrorException: Creation of dynamic property Swoole_ZooKeeper::$handle is deprecated in /www/wwwroot/hyperf-skeleton/vendor/hyperf/config-zookeeper/src/Client.php:25

这个好像是php8.2不支持动态属性添加导致的
最后我换成php8.1的版本,结果安装swoole/ext-zookeeper时;
PHP Fatal error: Uncaught TypeError: Return value of "phpx\Command\Build::execute()" must be of the type int, "null" returned. in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php:301
Stack trace:
#0 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
swoole/phpx#1 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
swoole/phpx#2 phar:///usr/local/bin/phpx/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
swoole/phpx#3 phar:///usr/local/bin/phpx/console.php(17): Symfony\Component\Console\Application->run()
swoole/phpx#4 /usr/local/bin/phpx(10): include('...')
swoole/phpx#5 {main}
thrown in phar:///usr/local/bin/phpx/vendor/symfony/console/Command/Command.php on line 301
还是报这个错误,我又继续执行:
phpx install 虽然在php8.1的扩展目录下面还是生成了swoole_zookeeper.so这个扩展文件,但是我又按照上面的步骤,将swoole_zookeeper.so文件添加到php配置文件中,
但是这次就一直加载不出来这个扩展了
输入phpx 命令一直报加载不了swoole_zookeeper这个扩展

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants