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