PHP 的安装

喜欢而已 提交于 2020-02-16 12:23:32

  1. 安装php依赖包

  yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

  若提示yum中没有可用的软件包libmcrypt和libmcrypt-devel,则需要手动编译安装,可以先在windows宿主主机中前往libmcrypt官网下载然后使用rz指令将包上传至centos7进行编译安装。我下载的包为libmcrypt-2.5.8.tar.gz:

  tar -zxvf libmcrypt-2.5.8.tar.gz

  cd libmcrypt-2.5.8

  ./configure --prefix=/usr/local/libmcrypt

  make

  make install

  2. 下载php包并解压

  cd /usr/local/src

  在windows上前往php官网下载php-7.2.0包,然后使用rz指令将下载好的php安装包上传到centos7上,解压:

  tar -zxvf php-7.2.0.tar.gz

  3. 编译安装(到/usr/local/php目录)

  cd php-7.2.0

  ./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear  --enable-bcmath

  (注意:--with-mcrypt参数指定的是libmcrypt的安装目录。Php7不再使用mysql的库来支持mysql的连接,而是启用了mysqlnd来支持,所以php7的编译已经不再使用--with-mysql参数指定mysql的安装位置了,若想支持mysql,需要设置--enable-mysqlnd、--with-mysqli和--with-pdo-mysql=mysqlnd参数,--with-mysql-sock指定的是编译mysql时-DMYSQL_UNIX_ADDR参数指定的文件)

  make(此过程需花费大概20分钟)

  make install

  4. 将php包解压目录中的配置文件放置到正确位置(configure命令中的--with-config-file-path设置的位置)

  cp php.ini-development /etc/php.ini

  5. 创建并设置php-fpm运行账号

  groupadd www-data

  useradd -M -g www-data -s /sbin/nologin www-data

  cd /usr/local/php/etc

  cp php-fpm.conf.default php-fpm.conf

  vim php-fpm.conf

  发现搜索不到“user”(设置运行账号的位置),但发现文件的最后一行:

  所以:

  cd php-fpm.d

  cp www.conf.default www.conf(否则include匹配不到文件)

  vim www.conf

  搜索“user”设置运行账号:

  user=www-data

  group=www-data

  6. 配置nginx支持php

  vim /usr/local/nginx/conf/nginx.conf

   修改完成之后记得重启nginx服务:

  systemctl start nginx.service

  7. 设置php-fpm为系统服务:

  vim /etc/systemd/system/php-fpm.service

  文件内容:

  [Unit]

  Description=php-fpm

  After=network.target

  [Service]

  Type=forking

  ExecStart=/usr/local/php/sbin/php-fpm

  PrivateTmp=True

  [Install]

  WantedBy=multi-user.target

  8. 设置php-fpm服务开机自启动:

  systemctl enable php-fpm.service

  9. 启动php-fpm:

  systemctl start php-fpm.service

  查看是否启动成功:

  ps -A | grep php-fpm

  10.写一个php脚本测试nginx是否已支持php,php是否已支持mysql。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!