【问题标题】:I installed symfony 3, ran the server and got a connection refused when I ran the webserver我安装了 symfony 3,运行服务器并在运行网络服务器时连接被拒绝
【发布时间】: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 文件中有一些东西阻止服务器。嗯...

标签: php apache web symfony


【解决方案1】:

冒着重新提出一个非常古老的问题的风险,我想根据最近的经验添加一条注释。我有一个使用 PHP 5.6 的 Symfony 3 安装,当我升级到 PHP 7.1 时停止工作。尝试启动内置服务器给了我同样的连接被拒绝错误,这导致我来到这里。

最终,我通过运行php bin/symfony_requirements 解决了这个问题。输出告诉我在我的 php.ini 中打开了 xdebug.scream 并且必须将其关闭。修复它使问题消失。

我希望这对某人有所帮助。

【讨论】:

  • 你救了我:-D
【解决方案2】:

好的,所以我意识到在我的 /etc/php5/cli/php.ini 文件中早早地放了一个错误,让它工作,显然是因为我的 php.ini 文件运行的配置使它不起作用,我没有找到找出导致它发生的文件选项。我什至试图解决这个问题的原因是因为我无法通过 localhost:80/my_project 上的 apache2 网络服务器访问它来使其工作,而是必须访问 localhost:80/my_project/web 工作得很好,所以我这样做而不是运行我自己的内置 php 服务器 - 因为这就是我必须在生产中运行它的方式。感谢任何坐下来试图弄清楚的人:)

【讨论】:

  • 很抱歉,我遇到了同样的问题,我似乎无法找到问题所在,也没有找到您的明确答案
  • 嗨。所以,现在是很久以前的事了,但我的问题是我不知道通过 symfony CLI 工具在我自己的 php 服务器上运行它和通过 apache 服务器运行它之间的区别。显然,您只需要其中一种解决方案,正如我通过我的回答看到的那样,我所做的似乎是将 symfony 项目放入 www/html 文件夹,运行 apache2 服务并能够通过 localhost:80/my_project 访问它/web ... 另一种方法是运行 symfony 为您提供的 php 服务器,然后您应该将其从 www/html 文件夹中取出,例如在文档中。
猜你喜欢
  • 1970-01-01
  • 2021-12-16
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多