[英]PHP Slim throws Internal Server Error 500
我正在嘗試部署一個在本地機器上開發的 RESTful Web 應用程序。 相同的代碼在本地 XAMPP 服務器中運行良好,但在上傳到遠程 Linux 服務器時無法加載。
這是.htaccess 文件,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ %{ENV:BASE}index.php [QSA,L]
由於它不起作用,我也嘗試了小修改,
RewriteEngine On
RewriteBase /slim/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
我仍然收到錯誤 500。似乎遠程服務器正在阻止腳本或其文件被執行。 這絕對很奇怪,因為相同的代碼在本地服務器中完美運行。 任何形式的幫助或建議將不勝感激。
該文件的文件權限也設置為777 (讀、寫、執行)
遠程服務器中的當前 PHP 版本是PHP V5.6
我認為您在服務器上使用 suphp 並且您已為所有文件設置 777 權限,這就是您面臨此問題的原因。 請將您的所有文件權限更改為 644 並將文件夾權限更改為 755 並檢查您的域 URL。
為了能夠在實時服務器(例如 IONOS 服務器)上運行您的 PHP slim 應用程序,
您需要解決兩件事:
1. 網絡服務器:
在 /var/www/html/myapp (根目錄路徑)中創建一個 .htaccess 文件,其中 myapp 目錄存儲您所有的 slim 應用程序文件。
重寫引擎開啟
重寫基礎/myapp
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
這里的關鍵是必須設置的 RewriteBase 指令。
2. 你的 Slim 4 應用配置
在您的 index.php 中,添加:
$app->setBasePath('/myapp');
中提琴!
按照鏈接進行詳細說明https://akrabat.com/running-slim-4-in-a-subdirectory/#the-web-server-apache
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.