Linux 安装php7
最近发现直接用yum安装php更加方便
参考: htps://jingyan.baidu.com/article/870c6fc3460834b03fe4be06.html
由于linux的yum源不存在php7.x,所以我们要更改yum源:
1 2 3 | 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
1 | yum search php7 |
yum 安装php72w和各种拓展,选自己需要的即可:
1 | 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版本
1 | php -v |
配置php.ini
1 | vi /etc/php.ini |
在Linux中将php-fpm配置成服务的方法
1.配置php-fpm.conf
1 | 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目录
1 | cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm |
3.设置权限并启动php-fpm:
1 2 3 4 5 | chmod 755 /etc/init.d/php-fpm /etc/init.d/php-fpm start chkconfig –add php-fpm |
最后,给出php-fpm以服务的方式启动、停止和重启:
1 2 3 4 5 | 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
1 | yum -y install php* --skip-broken |
常用命令
linux中如何查看php指向的php.ini的绝对路径
1 2 3 4 5 | [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目录
1 | php -i | grep php.ini |
很久前写过,是5.6的,而且包含了nginx相关的,今天简单记下php7的安装,和原来基本类似
1.安装依赖包
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.下载安装包
1 2 | cd /usr/local wget https: //www.php.net/distributions/php-7.1.31.tar.gz |
3.解压和创建安装目录
1 2 | tar -zxvf php-7.1.31.tar.gz mkdir /usr/local/php |
4.检查当前的环境是否满足要安装软件的依赖关系
cd php-7.1.31
1 | ./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.编译安装
1 2 | make make install |
6.在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
1 | cp php.ini-production /usr/local/php/php.ini |
[可选项] 设置让PHP错误信息打印在页面上
1 | vi /usr/local/php/php.ini |
display_errors = Off
将Off改成On
7.复制启动脚本
1 2 | $ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm $ chmod +x /etc/init.d/php-fpm |
修改php-fpm配置文件:
1 2 3 | $ cd /usr/local/php/etc $ cp php-fpm.conf. default php-fpm.conf $ vi php-fpm.conf |
8.去掉 pid = run/php-fpm.pid 前面的分号
1 2 3 | $ cd php-fpm.d $ cp www.conf. default www.conf $ vi www.conf |
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
9.启动PHP
1 2 3 4 | $ /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.开机自启动
1 | vi /etc/rc.local |
将 /etc/init.d/php-fpm start 添加进去
1 | chmod +x /etc/rc.d/rc.local |
11.环境绑定php
在linux下执行php时无法执行,报错:php: command not found
解决方法:
1 | 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
如果还不行,则再输入以下命令:
1 | 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!