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

Nginx下配置ownCloud的Fastcgi参数出现Primary script unknown错误求助

Primary script unknown报错核心原因是PHP-FPM进程无法找到Nginx传递的待执行PHP文件路径,你当前的配置存在3个典型问题:


问题说明

  1. 缺少SCRIPT_FILENAME FastCGI参数
    当前你仅引入了fastcgi_params,但多数Ubuntu发行版默认的fastcgi_params配置文件未定义SCRIPT_FILENAME参数,PHP-FPM不知道要执行的文件路径,直接返回报错。你需要在配置中显式添加该参数。

  2. PHP-FPM套接字路径可能错误
    Ubuntu 20.04+ 中php7.4-fpm默认的套接字路径为/run/php/php7.4-fpm.sock,而非你配置的/var/run/php7.4-fpm.sock,你可以执行命令ls /run/php/确认实际的套接字文件名。

  3. 需确认Server块根目录配置正确
    请确保你的Nginx Server块中已经配置了正确的站点根目录,比如ownCloud部署在/var/www/owncloud的话,需要添加配置root /var/www/owncloud;,否则$document_root变量取值错误也会导致PHP找不到文件。


修正后的配置示例

location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    # 替换为你通过ls /run/php/确认的实际php7.4-fpm套接字路径
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    # 关键参数:传递PHP文件的绝对路径给PHP-FPM
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

生效验证步骤

  • 执行nginx -t测试配置语法是否正确,无报错再执行后续操作
  • 执行systemctl reload nginx重载Nginx配置
  • 执行systemctl restart php7.4-fpm重启PHP-FPM服务
  • 若仍报错,检查PHP-FPM运行用户与Nginx运行用户是否一致,均为www-data即可,可分别在/etc/php/7.4/fpm/pool.d/www.conf和/etc/nginx/nginx.conf中核对用户配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:15:04