引言
本文档旨在提供关于在wlnmp一键安装包所支持的系统中安装、配置和启动PHP的详细指南。PHP作为一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。通过本文档,你将了解如何在你的系统上轻松安装、配置和管理PHP,从而为你的网站或应用程序提供稳定可靠的服务。
1. php8.2的安装与卸载
遵循wlnmp一键安装包官网“安装使用”教程。
1.1 添加epel源、crb源或epol源
如果当前非opencloudos9.x系统,则需要添加epel源,如下:
1 |
yum install epel-release -y |
如果当前是AlmaLinux9.x、RockyLinux9.x系统,在添加epel源基础之上,还需额外开启crb源
1 |
dnf config-manager --set-enabled crb |
如果当前是opencloudos9.x系统,仅需要添加epol源,如下:
1 |
yum install epol-release -y |
注1:如果不添加epel或epol源,在安装php8.2时可能会提示nothing provides libiodbc.so.2()(64bit)、libsodium.so.26()(64bit)、libtidy.so.58()(64bit)等错误,这是因为该依赖包组在该源中。
注2:由于opencloudos9.x是自研系统,没有epel源,所以需要安装epol源,它并不是el9系列的兼容版本,而是一个独立的版本。
1.2 添加wlnmp源
1 |
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash |
1.3 安装php8.2
安装php8.2有以下两种方式
1 2 |
yum install wphp82 -y yum install wcphp82 -y |
请注意,这两种方式只能任选其一。
区别在于,如果当前系统中已通过wlnmp源安装了其它版本的php,比如wphp81,那么此时想并存php8.2的版本,那么这里就安装wcphp82即可,这样wphp81和wcphp82同时并存。同理,如果再想安装别的php版本共存,同样的安装wc开头的php,比如wcphp56、wcphp71。
1.4 卸载php8.2
以下两种方式卸载,使用哪种方式卸载和你安装时使用的包有关
1 2 |
yum remove wphp82 -y yum remove wcphp82 -y |
请注意,如果安装的是wphp82,那么卸载后在/usr/local/php/目录下,还会保留部分日志文件,如确定不再需要,可以对这个目录进行删除操作,即rm -rf /usr/local/php/,此时完美卸载完成,没有其它残留文件。
如果安装的是wcphp82,那么卸载后在/usr/local/php82/目录下,还会保留部分日志文件,如确定不再需要,可以对这个目录进行删除操作,即rm -rf /usr/local/php82/,此时完美卸载完成,没有其它残留文件。
1.5 升级php8.2
以下两种方式升级,使用哪种方式升级和你安装时使用的包有关
1 2 |
yum update wphp82 -y yum update wcphp82 -y |
请注意,当wlnmp一键安装包有更新时,可直接升级,升级前请做好重要数据备份,避免由于某些原因导致升级失败,升级时不会覆盖原有正在使用的配置文件,但会导致php8.2服务重启。
1.6 查询php8.2所包含的文件
我们可以通过rpm -ql wphp82或rpm -ql wcphp82来查看。
2. php8.2的配置
2.1 配置文件目录
遵循标准编译路径配置,默认php8.2配置目录在/usr/local/php/或/usr/local/php82/下。
2.2 禁用的函数
为了增强PHP的安全性,防止恶意用户利用这些函数进行一些危险的操作,默认禁用了一些函数,在/usr/local/php/etc/php.ini或/usr/local/php82/etc/php.ini中
1 |
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server |
2.3 默认包含的模块
可通过php -m或php82 -m查看,也可访问https://www.wlnmp.com/php_extension
2.4 添加额外的模块
在安装php8.2后想安装额外的模块,可参考https://blog.whsir.com/post-7501.html
3. 启动和管理php8.2
wlnmp一键安装包所安装的php8.2,支持传统的SysV和现代的systemd两种管理方式,并且可以通用。
3.1 查询php8.2状态
wphp82启动状态可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php-fpm82 status systemctl status php-fpm82 |
wcphp82启动状态可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php82-fpm status systemctl status php82-fpm |
3.2 停止php8.2
wphp82停止可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php-fpm82 stop systemctl stop php-fpm82 |
wcphp82停止可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php82-fpm stop systemctl stop php82-fpm |
3.3 启动php8.2
wphp82启动可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php-fpm82 start systemctl start php-fpm82 |
wcphp82启动可以使用以下两种命令(任选其一)
1 2 |
/etc/init.d/php82-fpm start systemctl start php82-fpm |
注1:默认安装完成php8.2后,服务不会自动启动,请使用上面命令启动。
注2:并没有明确要求用哪种方式启动管理php8.2,你可以通过/etc/init.d/php-fpm82 start,然后systemctl stop php-fpm82停止,请结合个人喜好进行选择,推荐使用/etc/init.d/方式,因为可以通过TAB命令补全。
4. 结论
通过本文档,可以详细的了解到php8.2的包安装、配置和管理等,请根据你的实际需求进行配置和调整,了解php8.2软件更多信息,请参阅php8.2官方文档或其它相关资源。
本文档结合实际情况及使用需求不定期进行更新,对于有一定Linux运维经验的用户来说,非常容易上手。