php部署问题合集

php部署问题合集

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

# 先停止
$ service php-fpm stop
# 再启动
$ service php-fpm start 

2.configure: error: mcrypt.h not found. Please reinstall libmcrypt

$ yum install -y libmcrypt-devel 

3.ERROR: unable to bind listening socket for address ’127.0.0.1:9000′

# 先杀掉
$ killall php-fpm
# 再重启
$ service php-fpm start

4.configure: error: mcrypt.h not found. Please reinstall libmcrypt. 解决办法一:

yum install libmcrypt libmcrypt-devel

如果以上不行请试解决办法二

解决办法二:

yum install -y epel-release
yum install -y libmcrypt-devel

两个不能一起安装,因为CentOs6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装 libmcrypt。

5.-bash: phpize: command not found

方法一[推荐]

yum install php-devel

方法2: 直接去php的安装位置下的bin文件夹 运行phpize也可以记得写全路径

6.centos有低版本php的时候,安装高版本php不起作用

很多时候,centos自带了一个php5.4,但是我们又装了一个7.1,这个时候,当我们php-v的时候发现,居然是5.4,所以我们就要卸载yum自带的php54

  • 1.查看自带php有那些rpm包一个小栗子

    rpm -qa | grep php

    php-common-5.4.16-42.el7.x86_64 php-cli-5.4.16-42.el7.x86_64 php-devel-5.4.16-42.el7.x86_64

  • 2.依次卸载 devel -cli -common
    rpm -e php-devel-5.4.16-42.el7.x86_64
    rpm -e php-cli-5.4.16-42.el7.x86_64
    rpm -e php-common-5.4.16-42.el7.x86_64
  • 3.source profile文件
    source /etc/profile
  • 4.检查php-v
    php -v

    PHP 7.0.24 (cli) (built: Oct 20 2017 21:13:58) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

8.装好php和mysql之后出现,php不能调用mysql扩展查询数据,一碰到有mysql查询数据就500

  • 1.分析php.ini

    通过分析php.ini我发现pdo扩展的mysql.socket文件路径貌似不对

    于是我去服务器上查询,果然这个路径下没有socket

  • 2.修改MariaDB的配置文件

    /etc/my.cnf.d/mysql-clients.cnf

    [client]
    socket      = /var/lib/mysql/mysql.sock

    /etc/my.cnf.d/server.cnf

    [mysqld]
    socket          = /var/lib/mysql/mysql.sock
  • 3.重启服务

    service mysql start

    此时你会发现网页不会500了,但是出现了

  • 4.修改php.ini位置

    修改pdo_mysql.default_socket配置

    pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
  • 5.重启php-fpm
    service php-fpm restart