【发布时间】:2012-12-02 17:38:06
【问题描述】:
我有一个正在运行的 Symfony2 应用程序在我的本地服务器上运行,我想将它上传到我的共享主机。当我尝试在共享主机上打开网站时,我收到 500 响应。
我执行以下步骤:
- 清除缓存(“php app/console cache:clear”和“php app/console cache:clear --env=prod”)
- 将 /app、/src、/vendor、/web 上传到共享主机
- 使 /logs 和 /cache 可写(以及所有子文件夹/文件)
当我打开“www.mydomain.com/app.php”时,我收到 500 响应。当我打开“www.mydomain.com/app_dev.php”时,Symfony 给出了(预期的和正确的)我不允许打开这个文件的消息。
/logs/prod.log 为空。
我无法清除共享主机服务器上的缓存,因为我没有 SHH 访问权限。我只能清除本地服务器上的缓存,然后上传文件。
我没有更改我的 /web/.htaccess 文件,它在里面:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
【问题讨论】:
-
尝试删除阻止您从外部访问 config.php 的行,以查看您的配置是否正常。完成后不要忘记删除/恢复文件。
-
我正在访问欢迎页面。只给出了一些“建议”:安装 intl,安装加速器,将 short_open_tag 设置为 off。
-
如果你对 app_dev.php 做同样的事情并调用它呢?
-
我收到 500 响应,但这次是消息:file_get_contents(F:\wamp\www\MySite\vendor\symfony\symfony\src\Symfony\Bundle\WebProfilerBundle/Resources/views/ Profiler/toolbar_js.html.twig):无法打开流:在 mydomain.com/mm/vendor/twig/twig/lib/Twig/Loader/Filesystem.php 第 126 行中没有这样的文件或目录。所以它尝试加载我的 F: 驱动器中的文件,当然失败了。
-
如果您手动清除应用程序/缓存文件夹 (rm -rf app/cache/*) 并重试怎么办?