菜鸟科技网

服务器上搭建php环境

前期准备

确认系统信息

在开始搭建之前,需要先了解服务器所使用的操作系统类型(如CentOS、Ubuntu等)、版本号以及架构(x86_64或ARM),可以通过命令uname -a来查看这些基本信息,不同的操作系统在安装软件包时使用的指令和配置方式会有所差异。

服务器上搭建php环境-图1
(图片来源网络,侵删)

更新系统软件源

为确保能获取到最新稳定的软件版本,建议先更新系统的软件包索引,对于基于Debian系的系统(例如Ubuntu),执行以下命令:

sudo apt update && sudo apt upgrade -y

若是Red Hat系(像CentOS),则运行:

sudo yum makecache fast && sudo yum update -y

安装Web服务器(以Apache为例)

步骤 操作命令 说明
安装Apache sudo apt install apache2 -y(Ubuntu)
sudo yum install httpd -y(CentOS)
安装完成后,默认会将网页根目录设置在/var/www/html,可通过浏览器访问服务器IP地址进行测试,若看到默认的欢迎页面则表示安装成功。
启动并设置开机自启 sudo systemctl start apache2(Ubuntu)
sudo systemctl enable apache2(Ubuntu)
sudo systemctl start httpd(CentOS)
sudo systemctl enable httpd(CentOS)
确保服务正常运行且每次重启后自动启动。

安装PHP解释器及相关扩展

添加PHP官方仓库(可选但推荐)

为了方便管理和获得较新的PHP版本,可添加对应的PPA源(针对Ubuntu):

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

对于CentOS,可以使用EPEL源或者直接从官网下载安装包。

服务器上搭建php环境-图2
(图片来源网络,侵删)

安装PHP主程序及常用模块

以下以Ubuntu为例展示如何安装PHP 8.0及其一些常用扩展:

sudo apt install php8.0 libapache2-mod-php8.0 php8.0-mysql php8.0-xml php8.0-mbstring php8.0-curl -y

其中各模块的作用如下:

  • libapache2-mod-php8.0:使Apache支持PHP解析;
  • php8.0-mysql:用于连接MySQL数据库;
  • php8.0-xml:处理XML格式的数据;
  • php8.0-mbstring:多字节字符串函数库;
  • php8.0-curl:支持HTTP请求相关的功能。

安装完成后,重启Apache服务让新配置生效:

sudo systemctl restart apache2

验证PHP是否安装成功

创建一个名为info.php的文件放在网页根目录下(即/var/www/html/info.php如下:

服务器上搭建php环境-图3
(图片来源网络,侵删)
<?php phpinfo(); ?>

然后在浏览器中输入http://<服务器IP>/info.php,如果能正常显示PHP的配置信息页面,说明PHP已成功安装并与Apache集成。

配置虚拟主机(如有多个站点需求)

编辑Apache的配置文件(通常是/etc/apache2/sites-available/000-default.conf),添加新的虚拟主机条目。

<VirtualHost :80>
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/html/mysite
    ServerName mysite.example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

保存后,通过软链接将其启用到sites-enabled目录,并重新加载Apache配置:

sudo a2ensite mysite.conf
sudo systemctl restart apache2

安全问题考虑

文件权限设置

合理设置网页文件和目录的所有权及权限,避免敏感信息泄露,一般情况下,Web服务器运行用户为www-data(Ubuntu)或apache(CentOS),应确保所有属于该用户的文件具有合适的读写执行权限,使用以下命令修改权限:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

禁用危险函数

出于安全考虑,可以在php.ini文件中禁用某些可能存在安全隐患的函数,如exec(), passthru()等,找到对应行并将其前面的分号去掉即可生效。

常见问题与解答

Q1: PHP代码无法在浏览器中正常显示怎么办?

A1: 首先检查Apache的错误日志文件(位于/var/log/apache2/error.log),查看是否有关于PHP解析错误的记录,常见原因包括语法错误、缺少必要的扩展模块未加载、文件路径不正确等,确认info.php页面能否正常访问,如果不能,可能是Apache与PHP之间的连接存在问题,需检查相关配置文件是否正确。

Q2: 如何更改PHP上传文件的大小限制?

A2: 打开php.ini文件,找到upload_max_filesizepost_max_size这两个参数,分别设置允许上传的最大单个文件大小和整个POST请求的最大数据量,要将最大上传文件设为10MB,可将这两行修改为:

upload_max_filesize = 10M
post_max_size = 10M

修改保存后,记得重启Apache服务使更改

分享:
扫描分享到社交APP
上一篇
下一篇