使用任何路由时 Lumen 500 内部服务器错误 (windows)
Lumen 500 Internal Server Error when using any route (windows)
我一直在努力弄清楚为什么我的 lumen 项目无法与 xampp 一起工作。
它在服务时工作正常:php -S localhost:8000 -t public
但是当我使用 xammp 时,它似乎工作正常,直到我尝试使用任何路由。
例如:
http://my-api.test/v1.1/
显示
Lumen (8.2.4) (Laravel Components ^8.0)
这是我所期望的。
但是,如果我尝试:http://my-api.test/v1.1/spec
那么响应是
Internal Server Error The server encountered an internal error or
misconfiguration and was unable to complete your request. ...
我知道该路线应该有效,因为它在使用 php 命令提供服务时有效。
查看 apache 错误日志,我发现它重定向了太多次。
Request exceeded the limit of 10 internal redirects due to probable
configuration error. Use 'LimitInternalRecursion' to increase the
limit if necessary.
我在 Whosebug 和其他地方看过类似的问题,但找不到解决方案。
这是我的虚拟主机文件:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/my-api/public"
ServerName my-api.test
Alias "/v1.1/" "C:/xampp/htdocs/my-api/public/"
<Directory "C:/xampp/htdocs/my-api/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
和我的 public 目录中的 .htaccess 文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /v1.1/
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我在 windows 上使用 lumen 8.2.4 和 xampp。如有任何帮助,我们将不胜感激!
我的解决方案实际上是禁用我的防病毒软件。它导致我的 ftp 连接(不同项目)出现问题,禁用它后,我的 ftp 连接问题和这个问题都得到了解决。
希望这对以后的其他人有所帮助!
我一直在努力弄清楚为什么我的 lumen 项目无法与 xampp 一起工作。
它在服务时工作正常:php -S localhost:8000 -t public
但是当我使用 xammp 时,它似乎工作正常,直到我尝试使用任何路由。
例如:
http://my-api.test/v1.1/
显示
Lumen (8.2.4) (Laravel Components ^8.0)
这是我所期望的。
但是,如果我尝试:http://my-api.test/v1.1/spec
那么响应是
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. ...
我知道该路线应该有效,因为它在使用 php 命令提供服务时有效。
查看 apache 错误日志,我发现它重定向了太多次。
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary.
我在 Whosebug 和其他地方看过类似的问题,但找不到解决方案。
这是我的虚拟主机文件:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/my-api/public"
ServerName my-api.test
Alias "/v1.1/" "C:/xampp/htdocs/my-api/public/"
<Directory "C:/xampp/htdocs/my-api/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
和我的 public 目录中的 .htaccess 文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /v1.1/
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我在 windows 上使用 lumen 8.2.4 和 xampp。如有任何帮助,我们将不胜感激!
我的解决方案实际上是禁用我的防病毒软件。它导致我的 ftp 连接(不同项目)出现问题,禁用它后,我的 ftp 连接问题和这个问题都得到了解决。
希望这对以后的其他人有所帮助!