Ubuntu 系统下,PHP 日志里频繁出现 404 错误?别急着抓瞎,这个问题通常绕不开 Web 服务器配置、PHP 文件权限,或者应用程序代码本身。下面几个步骤,基本能覆盖大多数排查场景,咱们一步步来。

先抠 Web 服务器配置文件。Apache 的话,重点看
/etc/apache2/sites-a vailable/下的配置;Nginx 则检查/etc/nginx/sites-a vailable/。关键要确认DocumentRoot指向了正确的网站根目录,另外如果用 Apache,别忘了AllowOverride得允许.htaccess生效——很多 404 就是被这个拦住的。文件权限别马虎。PHP 文件得让 Web 服务器能读能执行,通常文件设 644,目录设 755 就够了。用
chmod命令改一下,顺手的事。翻翻 PHP 错误日志,那里往往藏着真凶。Apache 的日志在
/var/log/apache2/error.log,Nginx 在/var/log/nginx/error.log。仔细看错误信息,是文件找不到还是模块未加载,对症下药就好。检查应用程序代码。404 不一定是服务器配置的问题,也可能是路由规则写错了、URL 重写规则没生效,或者控制器方法压根没对应上。把代码里的路由配置、.htaccess 或 Nginx 的 rewrite 规则过一遍,往往能发现问题。
改完配置别忘重启服务。Apache 用
sudo systemctl restart apache2,Nginx 用sudo systemctl restart nginx。这一步容易忘,但很重要。最后清一下浏览器缓存。有时候浏览器缓存了旧的 404 页面,导致你以为问题还在。清空缓存再刷新,说不定就正常了。
按这几步走下来,大部分 404 问题都能解决。如果还不行,那就得结合具体错误日志和代码细节做更细致的排查了,比如检查 URL 重写规则是否匹配、路由配置是否有遗漏——这时候往往需要具体的上下文才能定位。