【发布时间】:2016-07-04 13:31:55
【问题描述】:
我使用他们提供的 CLI 自动生成了一个 Symfony 3 应用程序,并将它放在我的 www/html 文件夹中,我的 apache2 服务器从该文件夹中提供其文件:
然后我尝试做:
$ php bin/console server:start -vvv
$ sudo php bin/console server:start -vvv
$ php bin/console server:start 127.0.0.1:2040
但我不断收到以下错误:
[2016-03-18 00:06:14] php.DEBUG: fsockopen(): unable to connect to 127.0.0.1:8000 (Connection refused) {"type":2,"file":"/var/www/html/sample_symfony_blog/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Command/ServerCommand.php","line":59,"level":28928}
除了端口繁忙之外,我找不到任何具体答案,这也是我尝试使用端口 2040 的原因。
Symfony 官方的文档谈到了一些运行网络服务器的用户权限以及 PHP CLI 应该具有相同的权限还是什么?我不习惯配置 Apache/Ubuntu,所以我不知道如何在这方面对其进行测试。有什么提示吗?
【问题讨论】:
-
如果您从 symfony 运行 Web 服务器,我认为您实际上是使用 php 来运行服务器,而不是 apache。将 apache vhost 指向 public/index.php 比运行您自己的 PHP 服务器要简单得多。如果您想运行该服务器,可能是AppArmor 的问题(我假设您使用的是 Ubuntu)。
-
是的,在我写完这个问题后,我才意识到,在运行网络服务器时,我 ofc 不必依赖 apache 将 symfony 放入我的 www/html 中。所以我在 Documents 的某个地方创建了一个新项目,启动了服务器 - 结果相同。然后我想要一些调试,所以我尝试添加:error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE);到我的 etc/php5/cli/php.ini 文件....虽然使它工作,但只是因为存在 php 错误,所以将 2 和 2 放在一起,执行时我的 php.ini 文件中有一些东西阻止服务器。嗯...