Symfony 3.3.9部署到PHP 5.6不会呈现默认应用程序

时间:2017-10-04 02:50:42

标签: php symfony deployment

我正在努力从PhpStorm 2017.2.1获取默认的Symfony应用程序,该应用程序在本地运行(Windows),但似乎不会部署到远程服务器(Linux)并运行。

Windows设置:

Windows 10,PHPstorm 2017.2.1,php5.6,symfony 3.3.9,默认symfony app(即我安装了Symfony并使用了他们的默认应用程序 - 没有亲自编写的代码)。当从命令提示符运行“php bin / console server:run”和broswer中的“localhost:8000”运行时,这会生效“欢迎使用Symfony 3.3.9”“您的应用程序现已准备就绪。您可以开始工作....” 我相信这里没有错。

远程Linux设置:

共享主机,bash 4.2.46,我没有root访问权限,所有内容都应该放在public_html目录中。一个简单的一行phpinfo.php文件只包含
    "<?php phpinfo(); ?>"
当访问

时,放置在该目录中将呈现
'www.example.com/phpinfo.php'

通常的phpinfo()转储,因此我相信PHP服务器是可操作的。我不确定apache是​​否存在一些配置错误导致服务器出现问题,比如默认的symfony应用程序更复杂,或者问题是我的PHPstorm配置。

PHPstorm部署配置:

SFTP to www.example.com (test connection works, files will upload).   
root path: /home/example/public_html
username and password work, auth type=password.    
Web server root URL=sftp://ftp.example.com, 
and it does allow files to be browsed on the server.

PHPstorm映射:

local path=c:\blah (works, since files upload)
deployment path on server=/
web path on server=/web
I have only one mapping.

PHPstorm排除了路径:

上传和准备:

清除所有内容的Linux public_html目录。文件。将本地应用程序上载到远程Linux服务器。通过SSH登录并chmod所有public_html和777以下(是的,可怕的安全实践,但这是一个测试,目前域上没有其他任何东西,这将使我免除测试的任何安全保护问题)

测试结果,按顺序:

测试1:浏览到www.example.com会导致 ** 禁

您无权访问此服务器上的/。 此外,尝试使用ErrorDocument处理请求时遇到403 Forbidden错误。 **

测试2:浏览到www.example.com/web会导致 **内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请通过webmaster@example.com与服务器管理员联系,告知他们此错误发生的时间以及您在此错误发生之前执行的操作。

服务器错误日志中可能提供了有关此错误的更多信息。

此外,尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误。 **

日志:执行

ls -alsgR | grep log

不会产生任何看似是服务器日志文件的内容。

我可以使用哪个流程来使默认应用程序正常工作?

1 个答案:

答案 0 :(得分:1)

这似乎是一个Web服务器问题。

我的网络托管服务提供商不允许我查看httpd.conf文件以了解此共享托管情况,但确实为我运行了测试用例,无论配置如何,确定为

  1. public_html /中的所有文件都需要具有权限644(777不够好)
  2. public_html /中的所有目录都需要具有权限755(777不够好)。

执行此操作的两个bash命令,在cd到public_html /文件夹后运行

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

非常令人沮丧的问题解决了w.r.t.服务器。
  虽然我还没有完全检查出来,但PHPstorm似乎确实有,    在文件/设置/构建/部署/选项下,可以覆盖默认值    文件和目录的保护,所以我相信它可能是任何    PHPstorm发生的问题可以通过配置来解决    覆盖。