【转载】CentOS 7 lnmp一键安装包php安装失败的解决办法

转自:https://www.php.cn/linux-369386.html

背景

前面把树莓派装上了CentOS 7,趁着国庆放假回来赶紧把服务端环境搭起来,为了方便就准备用一键lnmp快速部署一个,结果死活安装不成功...

报错

按照以往的经验进行安装,在我的小树莓派上安装实在是慢,毕竟需要编译,CPU不给力只能慢慢的等待编译完成,吃个午饭回来发现似乎已经完成了,然而却失败了,报错信息如下

============================== Check install ==============================

Checking ...

Nginx: OK

MariaDB: OK

Error: PHP install failed.

Sorry, Failed to install LNMP!

Please visit  feedback errors and logs.

You can download /root/lnmp-install.log from your server,and upload lnmp-install.log to LNMP Forum.

PHP安装失败了,报错不要紧,再来一次看下啥问题,使用./upgrade.sh脚本可以重新安装,然而继续报错

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Starting LNMP...

Starting nginx...  done

Starting MySQL.... SUCCESS!

/bin/lnmp: line 27: /etc/init.d/php-fpm: No such file or directory

======== upgrade php failed ======

upgrade php log: /root/upgrade_lnmp_php.log

You upload upgrade_lnmp_php.log to LNMP Forum for help.

发现

仔细查看安装日志,发现了关键信息

configure: error: Please reinstall the libcurl distribution -

easy.h should be in /include/curl/

make: *** No targets specified and no makefile found.  Stop.

make: *** No rule to make target `install'.  Stop.

这里有个error,说是“请安装libcurl”,奇怪了,我在VPS上安装的时候咋没碰到这个问题呢,难道是CentOS for 树莓派版本阉割了这个玩意?

解决

按照错误提示安装,尝试使用yum直接装,然而包管理器里面并没有发现这个东西,找到官网上直接下载编译安装

CentOS 编译SVNdocx

wget https://curl.haxx.se/download/curl-7.50.3.tar.gz

tar zvxf curl-7.50.3.tar.gz

cd curl-7.50.3

./configure --enable-shared

make

make install

经过漫长的编译终于编译安装成功了

继续尝试安装PHP,这回算是正常进行编译PHP了

Generating files

configure: creating ./config.status

creating main/internal_functions.c

creating main/internal_functions_cli.c

+--------------------------------------------------------------------+

| License:                                                           |

| This software is subject to the PHP License, available in this     |

| distribution in the file LICENSE.  By continuing this installation |

| process, you are bound by the terms of this license agreement.     |

| If you do not agree with the terms of this license, you must abort |

| the installation process at this point.                            |

+--------------------------------------------------------------------+

Thank you for using PHP.

config.status: creating php5.spec

config.status: creating main/build-defs.h

config.status: creating scripts/phpize

config.status: creating scripts/man1/phpize.1

config.status: creating scripts/php-config

config.status: creating scripts/man1/php-config.1

config.status: creating sapi/cli/php.1

config.status: creating sapi/fpm/php-fpm.conf

config.status: creating sapi/fpm/init.d.php-fpm

config.status: creating sapi/fpm/php-fpm.service

config.status: creating sapi/fpm/php-fpm.8

config.status: creating sapi/fpm/status.html

config.status: creating sapi/cgi/php-cgi.1

config.status: creating ext/phar/phar.1

config.status: creating ext/phar/phar.phar.1

config.status: creating main/php_config.h

config.status: executing default commands

经过漫长的编译,终于.....

编译完成了,但是...

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Starting LNMP...

Starting nginx...  done

Starting MySQL...... SUCCESS!

Starting php-fpm Failed loading /usr/local/zend/ZendGuardLoader.so:  /usr/local/zend/ZendGuardLoader.so: cannot open shared object file: No such file or directory

done

======== upgrade php completed ======

似乎还是有些问题,不过问题不大,看起来像是某个扩展丢了,到这个目录查看下到底有没有这个东西

[root@rpi2 ~]# ls /usr/local/zend/

ZendGuardLoader.so

发现是有这个东西,真是神奇,通过搜索发现lnmp论坛上还真有人遇到过这个问题,帖子地址 ,作者说是系统dns的问题,应该是下载回来的东西损坏了,先不管,可以直接在php.ini里面注释掉这个,也或者直接去下载完整的重新放进去就可以了。

后记

重新从zend官方下载了32位的so文件放进去发现依然不行,尝试重新安装PHP的默认版本5.4.45,现在还在编译...

更新

经过一番波折终于搞定了,编译完PHP之后发现还是失败了,错误信息如下

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Starting LNMP...

Starting nginx...  done

Starting MySQL..... SUCCESS!

Starting php-fpm /etc/init.d/php-fpm:行57: /usr/local/php/sbin/php-fpm: 没有那个文件或目录

failed

======== upgrade php failed ======

upgrade php log: /root/upgrade_lnmp_php.log

You upload upgrade_lnmp_php.log to LNMP Forum for help.

显示的是找不到php-fpm这个文件,于是我想查找下这个文件在哪

$ whereis php-fpm

php-fpm: /usr/bin/php-fpm /usr/sbin/php-fpm /etc/php-fpm.conf /etc/php-fpm.d /usr/share/man/man8/php-fpm.8.gz

通过查找发现确实不在那个目录下面,这个简单,直接从/usr/sbin下面把php-fpm复制过去就好了

$ cd /usr/local/php/

$ ls

etc  php-fpm

$ sudo mkdir sbin

$ sudo mv php-fpm sbin/

$ lnmp restart

Error: You must be root to run this script!

[kbdancerrpi@rpi2 php]$ sudo lnmp restart

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Stoping LNMP...

Stoping nginx...  done

Shutting down MySQL. SUCCESS!

Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?

Starting LNMP...

Starting nginx...  done

Starting MySQL..... SUCCESS!

Starting php-fpm [01-Jan-1970 13:18:55] ERROR: failed to open error_log (/usr/local/php/var/log/php-fpm.log): No such file or directory (2)

[01-Jan-1970 13:18:55] ERROR: failed to post process the configuration

[01-Jan-1970 13:18:55] ERROR: FPM initialization failed

failed

没错,继续报错,根据提示来

$ cd /usr/local/php/

$ sudo mkdir var

$ cd var/

$ sudo mkdir log

$ cd log/

$ ls

$ sudo touch php-fpm.log

$ sudo lnmp restart

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Stoping LNMP...

Stoping nginx...  done

Shutting down MySQL. SUCCESS!

Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?

Starting LNMP...

Starting nginx...  done

Starting MySQL..... SUCCESS!

Starting php-fpm [01-Jan-1970 13:20:18] ERROR: Unable to create the PID file (/usr/local/php/var/run/php-fpm.pid).: No such file or directory (2)

[01-Jan-1970 13:20:18] ERROR: FPM initialization failed

failed

依然报错,继续

$ cd ..

$ ls

log

$ sudo mkdir run

$ sudo lnmp restart

+-------------------------------------------+

|    Manager for LNMP, Written by Licess    |

+-------------------------------------------+

|                            |

+-------------------------------------------+

Stoping LNMP...

Stoping nginx...  done

Shutting down MySQL. SUCCESS!

Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?

Starting LNMP...

Starting nginx...  done

Starting MySQL..... SUCCESS!

Starting php-fpm  done

OK,终于搞定了,真是曲折啊,估计lnmp作者没有测试过lnmp跑在ARM上会不会出问题,希望能够改进...

点赞
  1. RoyalFlusher说道:
    Google Chrome Windows 10
    https://t.me/s/iGaming_live/4866
  2. RoyalFlusher说道:
    Google Chrome Windows 10
    https://t.me/s/Martin_officials
  3. RouletteRogue说道:
    Google Chrome Windows 10
    В джунглях ставок, где любой сайт норовит зацепить гарантиями простых джекпотов, рейтинг мобильных казино является той самой ориентиром, что направляет мимо дебри обмана. Игрокам хайроллеров да дебютантов, кто устал с ложных посулов, это средство, чтоб почувствовать подлинную отдачу, словно вес золотой ставки у пальцах. Обходя ненужной воды, лишь проверенные сайты, там отдача не лишь показатель, но ощутимая везение.Составлено по гугловых поисков, как сеть, что ловит самые актуальные тенденции на рунете. Здесь минуя места про клише фишек, любой момент будто карта в столе, где блеф проявляется немедленно. Игроки видят: по России тон разговора на сарказмом, где ирония маскируется как намёк, даёт избежать ловушек.В https://wakelet.com/wake/F-2AmtoVbnvzu3Xl488Wb этот топ ждёт словно готовая карта, приготовленный на старту. Посмотри, коли желаешь увидеть биение подлинной азарта, минуя обмана плюс провалов. Тем что знает ощущение удачи, это как взять ставку на ладонях, а не глядеть на дисплей.

发表回复

电子邮件地址不会被公开。必填项已用 * 标注