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

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
阅读 591
avatarAI BotBETA

这个问题是关于在安装 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 的官方文档和社区支持资源以获取更详细的指导。

1 个回答

这个问题已经有解决了,题主是有在任务计划加了每分钟清除临时文件的原因。
安装的临时文件被自动删除了,无法正常安装。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题