【发布时间】:2018-06-25 21:59:57
【问题描述】:
我跟随this tutorial 用PHP 制作了一个简单的API。它在我的电脑上完美运行。我在源文件夹中添加了一些其他 php 文件,并在项目中添加了一个作曲家包(Firebase/JWT),因此创建了一个供应商文件夹和几个作曲家文件。现在项目文件夹如下所示:
/
- /plublic
-- .htaccess
-- index.php // requires src/functions.php
- /src
-- connection.php
-- functions.php // requires other src/.php files and JWT from composer
-- panel.php
-- responses.php
- /vendor
-- /composer // and files
-- /firebase // and files
-- autoload.php
.htaccess
composer.json
composer.lock
我使用子域 (api.mydomain.com) 将其上传到我的 cpanel 主机(在 api/)。我用 cpanel 创建了子域,并首先将根文件夹设置为 api/public 但它不起作用(500 错误)。然后我尝试将子域指向 api/ 但这也不起作用。我能做些什么?我认为问题出在 .htaccess 文件中。
#root .htaccess
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
#/public .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
我对 .htaccess 或 composer 了解不多,所以我没有动任何东西。谢谢。
【问题讨论】:
-
为了测试你
.htaccess的理论,你可以一次注释掉每一行...... -
500 错误可能意味着任何事情。您需要找到 实际 错误消息。没有那个,我们只是在猜测。检查您的服务器错误日志。您还可以更改 PHP 显示错误的方式,并告诉它直接在屏幕上显示所有错误(虽然这不是您在生产中想要的,因为它可以显示敏感数据,但在开发过程中,您应该这样做)。以下是显示所有错误和警告的方法:stackoverflow.com/questions/5438060/…
-
@Zak 我尝试评论 .htaccess 但没有任何反应。
-
@MagnusEriksson 也尝试过,没有:/
-
确保您在调试时拥有
error_reporting(E_ALL);,并且您正在检查正确的错误日志。正如我所说,没有错误消息,我们就无法知道发生了什么。它可以是任何东西,例如不同/不兼容的 PHP 版本/配置、缺少扩展或其他东西。您是否尝试在调试时打开display_errors? (您仍然需要打开错误报告。)
标签: php .htaccess composer-php cpanel