You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nginx 1.12.2中为PHP设置绝对文档根?

解决PHP绝对路径指向网站根目录的问题

没问题,这事儿很好搞定!你只需要调整Nginx里的PHP FastCGI配置,明确告诉PHP把/var/www/mydomain.com当作它的绝对文档根,这样就能直接用include '/css/style.css'这种短路径了。

修改后的Nginx PHP配置片段

把你现有的location ~ \.php$块更新成下面这样,关键配置我标出来了:

server {
    listen 80;
    server_name mydomain.com;
    root /var/www/mydomain.com/;
    index index.php index.html index.htm;
    error_page 404 /404.html;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 替换成你实际的PHP-FPM socket路径
        fastcgi_index index.php;
        
        # 核心配置:指定PHP的绝对文档根
        fastcgi_param DOCUMENT_ROOT /var/www/mydomain.com;
        # 确保脚本路径解析正确
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        
        # 可选但推荐:限制PHP仅访问指定目录,提升安全性
        fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/mydomain.com:/tmp";
        
        include fastcgi_params;
    }
}

关键配置说明

  • fastcgi_param DOCUMENT_ROOT /var/www/mydomain.com;:这是最核心的一步,告诉PHP它的绝对根目录就是你的网站根目录。当你用/开头的路径时,PHP会自动把这个路径拼在前面,比如/css/style.css就会被解析为/var/www/mydomain.com/css/style.css。
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;:确保Nginx能正确传递PHP脚本的完整路径,避免出现找不到脚本的问题。
  • PHP_ADMIN_VALUE那行:这是额外的安全配置,限制PHP只能访问你的网站根目录和临时目录,防止PHP意外访问服务器上的其他敏感文件,同时也能辅助强化根目录的路径解析逻辑。

最后一步:重启服务

修改完配置后,别忘了重启Nginx和PHP-FPM让配置生效:

sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm # 换成你实际使用的PHP版本,比如php8.1-fpm

这样设置之后,你就可以愉快地用短路径来include文件啦!

内容的提问来源于stack exchange,提问作者Widziks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:30:32