簡體   English   中英

PHP Slim 拋出內部服務器錯誤 500

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM