当前位置: 首页 > 知识库问答 >
问题:

amh - 安装扩展swoole失败,怎么处理这个?

梁丘弘
2023-10-05

clarations -std=c++11 -c /tmp/swoole-4.8.6/src/protocol/websocket.cc -fPIC -DPIC -o src/protocol/.libs/websocket.o
Assembler messages:
Error: can't open /tmp/ccz3gtNM.s for reading: No such file or directory
In file included from /tmp/swoole-4.8.6/src/protocol/ssl.cc:19:0:
/tmp/swoole-4.8.6/include/swoole_socket.h:34:27: fatal error: swoole_buffer.h: No such file or directory
compilation terminated.
make: * [src/protocol/socks5.lo] Error 1
make: * Waiting for unfinished jobs....
In file included from /tmp/swoole-4.8.6/src/protocol/websocket.cc:17:0:
/tmp/swoole-4.8.6/include/swoole.h:134:27: fatal error: swoole_config.h: No such file or directory
compilation terminated.
make: * [src/protocol/ssl.lo] Error 1
make: * [src/protocol/websocket.lo] Error 1
mkdir src/reactor/.libs
g++ -DENABLE_PHP_SWOOLE -I. -I/tmp/swoole-4.8.6 -DPHP_ATOM_INC -I/tmp/swoole-4.8.6/include -I/tmp/swoole-4.8.6/main -I/tmp/swoole-4.8.6 -I/usr/local/php-7.4/include/php -I/usr/local/php-7.4/include/
php/main -I/usr/local/php-7.4/include/php/TSRM -I/usr/local/php-7.4/include/php/Zend -I/usr/local/php-7.4/include/php/ext -I/usr/local/php-7.4/include/php/ext/date/lib -I/tmp/swoole-4.8.6 -I/tmp/swoo
le-4.8.6/include -I/tmp/swoole-4.8.6/ext-src -I/tmp/swoole-4.8.6/thirdparty -I/tmp/swoole-4.8.6/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-de
clarations -std=c++11 -c /tmp/swoole-4.8.6/src/reactor/base.cc -fPIC -DPIC -o src/reactor/.libs/base.o
/tmp/swoole-4.8.6/src/reactor/base.cc:17:20: fatal error: swoole.h: No such file or directory

include "swoole.h"

^
compilation terminated.
make: * [src/reactor/base.lo] Error 1
/tmp/swoole-4.8.6/libtool: line 1283: src/reactor/epoll.loT: No such file or directory
mkdir src/reactor/.libs
mkdir: cannot create directory 'src/reactor/.libs': No such file or directory
make: * [src/reactor/epoll.lo] Error 1
Assembler messages:
Fatal error: can't create src/protocol/.libs/mime_type.o: No such file or directory
make: * [src/protocol/mime_type.lo] Error 1
Assembler messages:
Fatal error: can't create src/protocol/.libs/http.o: No such file or directory
make: * [src/protocol/http.lo] Error 1
Assembler messages:
Fatal error: can't create src/protocol/.libs/redis.o: No such file or directory
make: * [src/protocol/redis.lo] Error 1
make: getcwd: No such file or directory
make: * No rule to make target `install'. Stop.
mv: cannot stat '/usr/local/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/swoole.so': No such file or directory

共有1个答案

唐经国
2023-10-05

这个问题是关于在安装 Swoole 扩展时遇到的编译错误。从给出的错误信息来看,有几个关键问题需要注意:

  1. 无法打开文件或目录: 这可能是由于文件或目录不存在或权限不正确导致的。例如,/tmp/ccz3gtNM.s/tmp/swoole-4.8.6/include/swoole_socket.h 等文件无法读取或不存在。确保所有的源文件和依赖库都在正确的位置,并且你有适当的读取权限。
  2. 头文件找不到: 错误信息中提到了几个找不到的头文件,例如 swoole_config.hswoole.h。确保这些头文件在正确的位置,或者在编译时指定了正确的头文件路径。
  3. 目录不存在: 错误信息中提到了一些目录不存在,例如 src/reactor/.libs/usr/local/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/。确保你在正确的目录下编译和安装,并且这些目录已经创建并具有适当的权限。
  4. 编译器错误: 有一些编译错误,例如 src/reactor/base.cc:17:20: fatal error: swoole.h: No such file or directory,这可能是因为 swoole.h 文件未找到。这可能是由于没有指定正确的头文件路径或该文件不存在。

为了解决这个问题,你可以尝试以下步骤:

  1. 检查文件和路径: 确保所有的源文件、头文件和依赖库都在正确的位置。如果它们不在预期的位置,请将它们移动到正确的位置或更新编译命令以包括正确的路径。
  2. 检查权限: 确保你具有适当的读取权限来访问所有必要的文件和目录。你可能需要使用 chmod 命令来修改文件权限。
  3. 指定正确的头文件路径: 从错误信息来看,可能缺少一些头文件。请确保在编译命令中包括了正确的头文件路径。
  4. 检查 PHP 和依赖库的版本: 确保你使用的 PHP 和依赖库版本与 Swoole 版本兼容。阅读 Swoole 的文档以确保你的系统满足所有要求。
  5. 尝试重新安装: 如果上述步骤没有解决问题,你可能需要完全卸载 Swoole,然后重新下载和安装它。在安装过程中,请确保遵循 Swoole 官方文档中的步骤。
  6. 查看日志: 检查 Swoole 编译过程中的详细日志,以了解更多关于错误的详细信息。这可能有助于确定问题的根本原因。

由于没有提供完整的上下文和具体的操作系统/环境信息,我无法提供更具体的解决方案。如果你提供更多细节,我可能能够提供更具体的帮助。另外,我建议查阅 Swoole 的官方文档和社区支持资源以获取更详细的指导。

 类似资料:
  • ============================================================= [Linux] AMH 7.1 https://amh.sh [lnmp-3.6 admin] [OK] lnmp-3.6 is already installed. pecl_imagick-3.7 [Linux] AMH 7.1 https://amh.sh [pecl_

  • Swoole扩展 到GitHub首页下载Swoole扩展源码,地址:https://github.com/swoole/swoole-src 下载后按照标准的PHP扩展编译方式进行编译和安装。一般是 phpize ./configure make install 编译安装完后,修改php.ini加入extension=swoole.so开启swoole扩展。也可以通过dl('swoole.so'

  • 问题描述 一直到这个地方就停了,卡住了 问题出现的平台版本及自己尝试过哪些方法 相关代码 粘贴代码文本(请勿用截图) 软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本 软件包 curl-7.29.0-59.el7_9.1.x86_64 已安装并且是最新版本 软件包 2:tar-1.26-35.el7.x86_64 已安装并且是最新版本 正在解决依赖关系 --> 正在

  • 本文向大家介绍Centos7安装swoole扩展操作示例,包括了Centos7安装swoole扩展操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Centos7安装swoole扩展操作。分享给大家供大家参考,具体如下: 我的PHP版本为PHP 7.2.24 更新源 安装需要支持的扩展 安装swoole 安装成功 安装失败 php -m或者 phpinfo()查看不到swoole 解