linux中如何安装php
方法:1、用wget下载php的tar.gz文件,语法“wget http://br2.php.net/get/php-7.2.2.tar.gz”;2、使用tar命令解压PHP的tar.gz文件,语法“tar zxvf php压缩文件”;3、新建php相关文件夹,然后进入解压后的php安装包文件夹里,使用命令进行配置;4、配置php相关文件;5、启动php,确定是否安装成功。
本教程操作环境:linux7.3系统、PHP7.2.2版,DELL G3电脑
检查是否安装了php
1)yum安装检查:yum list已安装| grep php
2)rpm安装检查:rpm -qa | grep php
3)自己编译安装的有多种方式查询,例如查找php的执行程序,或者检查进程ps -ef | grep php等方法。
检查如果没有安装php,可以准备php安装前的初始软件,用yum install xxxx即可安装,当然不嫌麻烦麻烦也可以自己编译安装,这里就不详细说了。
1)zlib以及zlib-devel zlib提供数据压缩的函数库,也是nginx的前端软件,由于zlib需要编译php的zlib扩展,而编译中会需要使用zlib.h这个头文件,头文件在zlib-devel中,因此也需要下载zlib-devel。
2)libxml2以及libxml-devel libxml2是一个c语言的xml程序库,可以简单的对xml进行各种操作,并支持xpath查询,以及部分支持xslt转换等功能。
3)libxslt以及libxslt-devel如果不安装libxslt-devel会提示找到xslt.config文件,xslt是转换xml到其他格式的扩展。
3)openssl及openssl-devel安全专有层密码库
4)jpeg IJG的jpeg库,php的gd库所需。
5)libpng是c语言写的比较复杂的的pngpng文件的跨平台的库,可以帮助轻松的识读pngpng文件的每一行替换,php的gd库所需。
6)freetype及freetype-devel免费开源的且可移植的字体引擎,提供统一的接口访问多种字体格式,这两个都是gd库的依赖软件,所以如果没有安装,或者版本太低,在安装phptime设定的是安装gd库插入报错,另外不安装-devel也是会报错的,因为编译扩展的时候会ft2build.h文件,报错如下图。
7)gd gd是php处理图形的扩展库
8)curl,由于我的yum里的版本太低了,所以直接自己编译安装的,安装方式很简单,也就是wget curl下载地址后tar解压,新建/ usr / local / curl文件夹,然后进入curl解压后的文件夹里配置。/configure--prefix = / usr / local / curl立即,最后make以及make install就安装好了。
注意:xxx-devel是xxx软件的开发包,包含头文件以及静态库甚至源码。
linux中下载安装php
1)用wget下载php的tar.gz文件:wget <span class="invisible">http://<span class="visible">br2.php.net/get/php-7.2<span class="invisible">.2.tar.gz</span></span></span>
2)解压tar.gz文件:tar zxvf php-7.2.2.tar.gz
3)新建待会要安装php的文件夹:mkdir / usr / local / php,然后进入解压后的php安装包文件夹里,配置:
./configure --prefix = / usr / local / php --with-curl = / usr / local / curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir- -with-kerberos --with-libdir = lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite- -with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization- enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
注意:
--prefix =安装目录
--with-使用包名称[=包目录]
--enable-需要激活的功能
配置php相关文件
1)配置php.ini,这是php的配置文件:cp /home/myload/php-7.2.2/php.ini-development /usr/local/php/lib/php.ini
2)配置php-fpm.conf,这是php-fpm配置文件:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3)配置www.conf,配置用户的文件:cp etc / php-fpm.d / www.conf.default etc / php-fpm.d / www.conf
4)将php-fpm启动文件复制到init.d文件夹中一个方便启动php:cp -R sbin / php-fpm /etc/init.d/php-fpm
启动php,确定是否安装成功
执行命令/etc/init.d/php-fpm立即
查看是否启动:ps -ef | grep php既可以看到php启动了一些进展
安装成功后配置nginx支持php
1)更改php.ini文件,vim /usr/local/php/lib/php.ini
通过查找cgi.fix_pathinfo = 1这个配置,并删除注释,并替换cgi.fix_pathinfo = 0,这里并不属于nginx支持php配置相关,或者专属于nginx下php的一个安全漏洞,如果此处缩小1 ,用户方可以通过上传图片来上传木马,然后通过网址访问该图片地址,并在地址后加入/xxx.php将图片作为PHP文件运行,这只是在nginx里才会存在的问题,apache和iis都没有该问题
以上问题可以直接想到鸟哥的博客,写的相当详细:http://http://www.laruence.com/2010/05/20/1495.html
2)配置web专用的组和用户
添加www用户组:groupadd www
添加www用户组下的用户www:useradd -g www www
3)更改php-fpm.conf配置
将user = nobody的注释去掉,加入nobody改成上面配置的www用户
将group = nobody的注释去掉,加入nobody改成上面配置的www用户组
最后检查php-fpm.conf最后的包含的值是不是正确的www.conf目录地址,如果不正确则换成正确的目录地址。
4)更改www.conf配置
将user = nobody的注释去掉,加入nobody改成上面配置的www用户
将group = nobody的注释去掉,加入nobody改成上面配置的www用户组
5)更改nginx.conf文件/etc/local/nginx/conf/nginx.conf
将#user = nobody去掉注释并替换user = www
删除位置〜\ .php $ {...}这段代码的注释,依次fastcgi_param里的/ scripts替换$ document_root
最后将位置/ {...}里替换索引后面添加上index.php,确保index.php作为替代的首页
6)重启php-fpm和nginx,可以杀死所有php-fpm然后再/etc/init.d/php-pfm即可重启,/ usr / local / nginx / sbin / nginx -s stop可以停止nginx,然后执行/ usr / local / nginx / sbin / php立即重启。
7)在html目录里随便创建一个php文件,内容是phpinfo();,然后在浏览器中访问该文件地址,看是否正确的php相关信息,如果正确显示则配置成功。
推荐学习:《PHP视频教程》
以上是linux中如何安装php的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

在Docker环境中使用PECL安装扩展时报错的原因及解决方法在使用Docker环境时,我们常常会遇到一些令人头疼的问�...

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

在macOS上将apscheduler定时任务配置为服务在macOS平台上,如果你想将apscheduler定时任务配置为一个服务,类似于ngin...

关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...
