1. 准备
- Apache服务器
- 文本编辑器
- 终端
- 浏览器
2. 安装PHP
- 安装相应的库
$ sudo apt-get install php
$ sudo apt-get install libapache2-mod-php
- 配置php库版本
apache2服务会使用/usr/lib/apache2/modules/
目录下的php库,如果(系统升级后)php库版本1不同,则会出现如下错误。
$ systemctl status apache2
× apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-11-15 11:03:47 CST; 3s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 6709 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
CPU: 25ms
11月 15 11:03:47 ubuntu systemd[1]: Starting The Apache HTTP Server...
11月 15 11:03:47 ubuntu apachectl[6712]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.4.load: Cannot load /usr/lib/apache2/modules/libphp7.4.so into server:: /usr/lib/apache2/modules/libphp7.4.so: cannot open shared object file: No such file or directory
11月 15 11:03:47 ubuntu apachectl[6709]: Action 'start' failed.
11月 15 11:03:47 ubuntu apachectl[6709]: The Apache error log may have more information.
11月 15 11:03:47 ubuntu systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
11月 15 11:03:47 ubuntu systemd[1]: apache2.service: Failed with result 'exit-code'.
11月 15 11:03:47 ubuntu systemd[1]: Failed to start The Apache HTTP Server.
可通过以下命令更改配置(以7.4更改到8.1为例):
将/etc/apache2/mods-enabled/
目录下的php7.4.load
链接文件删除。
$ sudo a2dismod php7.4
Module php7.4 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2
在/etc/apache2/mods-enabled/
目录下创建php8.1.load
链接文件。
$ sudo a2enmod php8.1
Considering dependency mpm_prefork for php8.1:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.1:
Enabling module php8.1.
To activate the new configuration, you need to run:
systemctl restart apache2
上述链接文件指向/etc/apache2/mods-available/
目录中已有的文件,若该文件不存在,则需要创建相应的.conf
文件和.load
文件,然后再运行上述指令。
$ sudo cp /etc/apache2/mods-available/php7.4.conf /etc/apache2/mods-available/php8.1.conf
$ sudo vi /etc/apache2/mods-available/php8.1.load
将以下内容写入到/etc/apache2/mods-available/php8.1.load
文件
# Conflicts: php5
# Depends: mpm_prefork
LoadModule php_module /usr/lib/apache2/modules/libphp8.1.so
- 重启Apache服务
$ systemctl restart apache2
3. 验证
- 在Apache服务器的网页访问路径2
/var/www/xxx.com
下新建一个index.php
文件。
$ sudo vi /var/www/xxx.com/index.php
- 输入以下php语句并保存。
<?php echo phpinfo();?>
- 打开浏览器,输入以下地址(以局域网地址为例),能正常显示php的信息表格表示成功。
http://192.168.10.1/index.php/