现象:
<VirtualHost *:80>
DocumentRoot "/var/www/html/xxx/public"
ServerName your-domain.com
<Directory "/var/www/html/xxx/public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</Directory>
</VirtualHost>
LoadModule rewrite_module modules/mod_rewrite.so
部署的代码如上,很简单一段代码
然后开发调用接口,死活调不通,就报404. 尝试过很多参数.
最后发现是php这里出现了问题.
验证php的模块文件是否存在.
ls /etc/apache2/mods-available/php*
发现没有对应文件,正常情况应该有 /etc/apache2/mods-available/php8.1.load.这种文件
然后.
重装.
apt remove --purge libapache2-mod-php8.1 libapache2-mod-php
apt autoremove
apt autoclean
apt update
apt install libapache2-mod-php
![]()
a2enmod php8.1 #启用php8.1模块
systemctl restart apache2
搞定\
######### 后续补充 #######
还需要安装 php-curl ,php-mysql
apt install php-curl,php-mysql
/etc/php/8.1/apache2/php.ini
打开注释
extension=curl
extension=pdo_mysql
extension=mysqli
完事.

2403

被折叠的 条评论
为什么被折叠?



