首页 >后端开发 >PHP问题 >php-fpm启动不了怎么办?

php-fpm启动不了怎么办?

藏色散人
藏色散人原创
2021-10-27 10:15:143665浏览

php-fpm启动不了的解决办法:1、重新下载一个64位的“ZendGuardLoader.so”;2、将其放到“/usr/local/zend/”下;3、重新执行“lamp php-fpm start”即可。

php-fpm启动不了怎么办?

本文操作环境:ubuntu 16.04系统、PHP5.3版、DELL G3电脑

php-fpm启动不了怎么办?php-fpm启动失败?

启动报错现象:wrong ELF class: ELFCLASS32

test@ubuntu:/usr/local/zend$ sudo lnmp php-fpm start
+-------------------------------------------+
| Manager for LNMP, Written by Licess |
+-------------------------------------------+
|  http://lnmp.org          |
+-------------------------------------------+
Starting php-fpm Failed loading /usr/local/zend/ZendGuardLoader.so: /usr/local/zend/ZendGuardLoader.so: wrong ELF class: ELFCLASS32
[03-May-2017 00:03:15] ERROR: FPM initialization failed
failed

此错误是因为php-fpm模块所调用的ZendGuardLoader.so模块为32位的模块,然而当前系统为64为系统,因此在启动时报错了,重新下载一个64位的ZendGuardLoader.so放到/usr/local/zend/下,然后重新执行lamp php-fpm start即可。

以下为修复步骤:  

用file命令查看当前的ZendGuardLoader.so的文件信息,可以看到当前so文件为32位的文件。

test@ubuntu:/usr/local/zend$ file ZendGuardLoader.so

ZendGuardLoader.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

test@ubuntu:/usr/local/zend$ file ZendGuardLoader.so

wget  http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

tar -xvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/zend/

ZendGuardLoader.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

下载解压64位的ZendGuardLoader,然后替换原来的.so文件之后重新启动php-fpm

test@ubuntu:/usr/local/zend$ file ZendGuardLoader.so

ZendGuardLoader.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

wget  http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

tar -xvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/zend/
重新用file看下替换之后的ZendGuardLoader.so,可以看到当前为64位的文件了。
test@ubuntu:/usr/local/zend$ file ZendGuardLoader.so
ZendGuardLoader.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
推荐学习:《PHP视频教程》  

以上是php-fpm启动不了怎么办?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn