我已成功使用 Deployer 将我的应用程序部署到远程主机。
我在共享主机上,无法访问 Apache 配置。
应用程序部署在为附加域创建的目录中,也就是说,它不在主域中。此文件夹位于:home/serverid/myrootadon
当我尝试导航到已安装该应用程序的域时,https://example.com
我得到:
错误 500 - 内部服务器错误
处理您的请求时遇到错误。通常,这只是暂时的情况。请联系网站所有者获取进一步的帮助。
我不明白是什么导致了这个错误。我尝试查看错误日志,但什么也没找到。
在根文件夹中仅有一个error_log
文件,内容如下:
[01-Jun-2023 15:23:46 UTC] 2023-06-01T15:23:46+00:00 [info] 用户弃用:“Monolog\Logger”类被视为最终版本。它可能会在下一个主要版本中更改,恕不另行通知。您不应从“Symfony\Bridge\Monolog\Logger”扩展它。
在该var/log
文件夹中,有一个名为的文件dev.log
:
2023-06-01T15:46:05.158715+00:00] deprecation.INFO: 用户弃用:“Monolog\Logger”类被视为最终版本。它可能会在下一个主要版本中更改,恕不另行通知。您不应从“Symfony\Bridge\Monolog\Logger”扩展它。{“exception”:“[object](ErrorException(代码:0):用户弃用:“Monolog\Logger”类被视为最终版本。它可能会在下一个主要版本中更改,恕不另行通知。您不应从“Symfony\Bridge\Monolog\Logger”扩展它。在/home/serverid/myrootadon/releases/4/vendor/symfony/error-handler/DebugClassLoader.php:338)”} []
我有这个:
# Options All -Indexes
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/index.php [QSA,L]
</IfModule>
在两个.htaccess
文件中:/home/serverid/myrootadon/.htaccess
和/home/serverid/myrootadon/public_html/.htaccess
。
如果我从控制台执行此操作,则数据库连接正在工作:
$ php current/bin/console dbal:run-sql "SELECT * from post";
我可以看到表中的行post
。
路线定义如下:
$ php current/bin/console debug:router
-------------------------- -------- -------- ------ -----------------------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------------------------
_preview_error ANY ANY ANY /_error/{code}.{_format}
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_xdebug ANY ANY ANY /_profiler/xdebug
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler_open_file ANY ANY ANY /_profiler/open
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
app_post ANY ANY ANY /post
post_show ANY ANY ANY /post/{id}
-------------------------- -------- -------- ------ -----------------------------------
如果我尝试导航到:https://example.com/post/1
当数据库中存在 id=1 的帖子时,也会出现错误 500。
所有这些在本地都可以完美运行,但是当我将其部署到远程服务器时,我无法使其工作,也找不到 500 错误的位置。我在浏览器控制台中也看不到任何内容。