温馨提示×

ubuntu apache怎样配置php

小樊
39
2026-10-19 19:40:50
栏目: 编程语言

下面以 Ubuntu + Apache + PHP 最常见场景为例,说明如何配置 PHP(以 PHP 8.1 为例,可根据需要替换版本)。


一、安装 Apache 和 PHP

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Apache

sudo apt install apache2 -y

启动并设置开机自启:

sudo systemctl enable apache2
sudo systemctl start apache2

浏览器访问:

http://服务器IP

看到 Apache 默认页即成功。


3. 安装 PHP(Apache 模块方式)

sudo apt install php libapache2-mod-php -y

如需常用扩展:

sudo apt install php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

二、验证 PHP 是否生效

1. 创建测试文件

sudo nano /var/www/html/info.php

内容:

<?php
phpinfo();

2. 浏览器访问

http://服务器IP/info.php

看到 PHP 信息页即配置成功。


三、Apache 与 PHP 的关键配置

1. Apache 已自动加载 PHP 模块

查看:

apache2ctl -M | grep php

应看到:

php_module (shared)

2. 默认站点目录

/var/www/html

如需新建站点:

sudo mkdir -p /var/www/example.com/public_html

3. 修改默认首页顺序(可选)

sudo nano /etc/apache2/mods-enabled/dir.conf

确保:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

重启 Apache:

sudo systemctl restart apache2

四、常见配置修改(php.ini)

PHP 配置文件位置:

/etc/php/8.1/apache2/php.ini

常用修改:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
display_errors = Off

修改后重启:

sudo systemctl restart apache2

五、虚拟主机示例(可选)

sudo nano /etc/apache2/sites-available/example.com.conf

内容:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

启用:

sudo a2ensite example.com.conf
sudo systemctl reload apache2

六、常见问题

1. 访问 PHP 文件直接下载?

说明 PHP 模块未加载,执行:

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

2. 修改配置不生效?

  • 确认修改的是 apache2/php.ini
  • 重启 Apache

如果你用的是 Ubuntu 22.04 / 24.04、PHP 8.2/8.3 或 Nginx + PHP-FPM,可以告诉我,我可以给你对应版本配置。

0 踩