第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Nginx + php-fpm 從特定 URI 提供 PHP 應(yīng)用程序:“主腳本未知”錯(cuò)誤

使用 Nginx + php-fpm 從特定 URI 提供 PHP 應(yīng)用程序:“主腳本未知”錯(cuò)誤

PHP
吃雞游戲 2023-07-01 10:12:32
我正在嘗試配置 Nginx 以服務(wù) Django 應(yīng)用程序和 Laravel 應(yīng)用程序。我的 Django 應(yīng)用程序正常工作,所以現(xiàn)在我想從 /snipe-it 獲取 Laravel 應(yīng)用程序。我正在努力解決的 nginx 配置的主要部分在這里:    location /snipe-it/ {        alias /var/www/html/public/;        #try_files $uri $uri/ /index.php$is_args$args;        location ~* \.php(/|$) {            try_files $uri $uri/ =404;            include fastcgi_params;            fastcgi_pass unix:/run/php/php7.3-fpm.sock;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        }    }該index.php文件的實(shí)際文件位置是/var/www/html/public/index.php。當(dāng)嘗試訪問(wèn)位于 的 Laravel 應(yīng)用程序時(shí)http://127.0.0.1/snipe-it/index.php,我收到“文件未找到”。日志輸出如下所示:nginx_1        | - -  24/Jun/2020:17:37:40 +0000 "GET /snipe-it/index.php" 404nginx_1        | 2020/06/24 17:37:40 [error] 17#17: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.30.0.1, server: 127.0.0.1, request: "GET /snipe-it/index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "127.0.0.1"nginx_1        | 172.30.0.1 - - [24/Jun/2020:17:37:40 +0000] "GET /snipe-it/index.php HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0" "-"一切都在一個(gè) docker 容器中,該容器源自使用 Debian buster 的官方 nginx 鏡像。我相信日志中的第一行來(lái)自 php-fpm7.3 進(jìn)程,因?yàn)槲以谖募性O(shè)置access.log了。我還希望它可以更深入地了解應(yīng)用程序在何處查找文件,但似乎并非如此。/proc/self/fd/2/etc/php/7.3/fpm/pool.d/www.confcatch_workers_outputyesindex.php如果有幫助的話(huà),權(quán)限index.php如下所示:-rw-r--r-- 1 docker www-data  1887 Jun 23 21:13 index.php我目前正在以 www-data 用戶(hù)身份運(yùn)行 nginx,以 www-data 組中的 docker 用戶(hù)身份運(yùn)行 php-fpm。似乎“主腳本未知”錯(cuò)誤可能是由許多問(wèn)題引起的,因此任何關(guān)于如何深入挖掘以找到有關(guān)問(wèn)題所在的更多線(xiàn)索的提示都會(huì)有所幫助。僅供參考,這是我的完整 nginx conf 文件:upstream intranet {    server web:8000;}upstream prometheus {    server prometheus:9090;}
查看完整描述

1 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

根據(jù) nginx ngx_http_fastcgi_module文檔,$fastcgi_script_name內(nèi)部變量包含請(qǐng)求 URI,或者,如果 URI 以斜杠結(jié)尾,則請(qǐng)求 URI 帶有由附加到fastcgi_index其上的指令配置的索引文件名。當(dāng)你使用

fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;

并收到/snipe-it/script.php傳入請(qǐng)求,$uri內(nèi)部變量等于?/snipe-it/script.php,$document_root$fastcgi_script_name內(nèi)部變量等于/var/www/html/public/,連接$document_root$fastcgi_script_name字符串變?yōu)?code>/var/www/html/public//snipe-it/script.php,這顯然會(huì)導(dǎo)致文件不存在。你能做的是

????location?~?^/snipe-it/(?<subpath>.*)$?{
????????alias?/var/www/html/public/;
????????location?~*?\.php$?{
????????????????????include?fastcgi_params;
????????????fastcgi_pass?unix:/run/php/php7.3-fpm.sock;
????????????fastcgi_index?index.php;
????????????fastcgi_param?SCRIPT_FILENAME?$document_root$subpath;
????????}
????}

root請(qǐng)注意,當(dāng)您使用指令而不是 時(shí),不會(huì)出現(xiàn)此問(wèn)題alias。/var/www/html/public但是,除非您將目錄重命名為/var/www/html/snipe-it(而不是可以使用) ,root /var/www/html;否則這是不可能的。alias /var/www/html/public/;


查看完整回答
反對(duì) 回復(fù) 2023-07-01
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)