Linux 安装php7

最近发现直接用yum安装php更加方便

参考: htps://jingyan.baidu.com/article/870c6fc3460834b03fe4be06.html

由于linux的yum源不存在php7.x,所以我们要更改yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

  

查看yum源中有没有php7.x

yum search php7

  

yum 安装php72w和各种拓展,选自己需要的即可:

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

  

安装完成,查看php版本

php -v

  

配置php.ini

vi /etc/php.ini

  

在Linux中将php-fpm配置成服务的方法

1.配置php-fpm.conf

vi /usr/local/php/etc/php-fpm.conf

php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid

 

2.拷贝php-fpm脚本至/etc/init.d目录

cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

 

3.设置权限并启动php-fpm:

chmod 755 /etc/init.d/php-fpm

/etc/init.d/php-fpm start

chkconfig –add php-fpm

  

最后,给出php-fpm以服务的方式启动、停止和重启:

service php-fpm start

service php-fpm stop

service php-fpm reload

  

问题1.Error: php72w-common conflicts with php-common-5.4.16-45.el7.x86_64,

原因:yum默认装的是5.4的包,如果再装7的版本,就可能会冲突

解决:在安装命令后面加上 --skip-broken

yum -y install php*   --skip-broken

  

常用命令

linux中如何查看php指向的php.ini的绝对路径

[root@localhost ~]# php --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

linux命令之查看配置文件要求的php.ini目录

php -i | grep php.ini

 

很久前写过,是5.6的,而且包含了nginx相关的,今天简单记下php7的安装,和原来基本类似

1.安装依赖包

yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

  

2.下载安装包

cd /usr/local
wget https://www.php.net/distributions/php-7.1.31.tar.gz

  

3.解压和创建安装目录

tar -zxvf php-7.1.31.tar.gz
mkdir /usr/local/php

  

4.检查当前的环境是否满足要安装软件的依赖关系
cd php-7.1.31

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --disable-phar --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl

  

5.编译安装

make
make install

  

6.在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

cp php.ini-production /usr/local/php/php.ini

  

[可选项] 设置让PHP错误信息打印在页面上

vi /usr/local/php/php.ini

display_errors = Off
将Off改成On


7.复制启动脚本

$ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm

修改php-fpm配置文件:

$ cd /usr/local/php/etc
$ cp php-fpm.conf.default php-fpm.conf
$ vi php-fpm.conf

  

8.去掉 pid = run/php-fpm.pid 前面的分号

$ cd php-fpm.d
$ cp www.conf.default www.conf
$ vi www.conf

修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)


9.启动PHP

$ /etc/init.d/php-fpm start #php-fpm启动命令
$ /etc/init.d/php-fpm stop #php-fpm停止命令
$ /etc/init.d/php-fpm restart #php-fpm重启命令
$ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP

  

10.开机自启动

vi /etc/rc.local 

将 /etc/init.d/php-fpm start 添加进去

chmod +x /etc/rc.d/rc.local

  

11.环境绑定php

在linux下执行php时无法执行,报错:php: command not found

解决方法:

export PATH=$PATH:/usr/local/php7/bin

可以输入echo $PATH 查看下有没有添加成功,如下显示:

usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin

如果还不行,则再输入以下命令:

ln -s /usr/local/php/bin/php /usr/bin/php 

再次执行测试,基本可以跑通了,亲测一直有效

 

附php安装路径查询:

#whereis php

#which php

#php -v   查看版本号

差异自己去体会

Linux下查看nginx、mysql、php的安装路径和编译参数: https://www.cnblogs.com/kenshinobiy/p/7119341.html

参考:

Linux 安装php7  https://www.cnblogs.com/houss/p/11296285.html

linux下无法执行PHP命令,错误 php: command not found   https://www.cnblogs.com/doseoer/p/9542948.html

posted @ 2020-03-26 17:26  程序生(Codey)  阅读(762)  评论(0编辑  收藏  举报