当我尝试 运行 时,Yii 服务什么也不做。 (fsockopen():无法连接)
Yii serve do nothing when I try to run it. (fsockopen(): unable to connect)
我正在尝试开始使用 Yii2 框架。正如 documentation 中所述,我做了
$composer global require "fxp/composer-asset-plugin:~1.1.1"
$composer create-project --prefer-dist yiisoft/yii2-app-basic yii2-test
然后我cd yii2-test
和运行php yii serve --port=8888
我预计它会 运行 服务器但它以代码 255 退出。调试器说它停止 on the line
$fp = @fsockopen($hostname, $port, $errno, $errstr, 3);
错误信息是
fsockopen(): unable to connect to localhost:8888 (Connection refused)
我该如何解决这个问题?
一些环境:
描述:Ubuntu15.10
$ php -v
PHP 5.6.11-1ubuntu3.1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
这种奇怪的行为是由 xdebug 设置引起的
xdebug.halt_level=E_NOTICE|E_WARNING|E_USER_WARNING|E_USER_NOTICE
为了解决我的问题,我不得不从中排除 E_WARNING
。
说明
在开始之前 yii serve
命令检查是否有另一个应用程序使用选定的端口。
这是在方法 isAddressTaken
中通过尝试在此端口
打开到本地主机的套接字来完成的
$fp = @fsockopen($hostname, $port, $errno, $errstr, 3);
,因此每次端口为空(yii 可能会使用它)时,fsockopen 都会生成警告,该警告被 @
.
抑制
结果:如果你有 xdebug 并且它使所有脚本在警告时停止 - yii serve
将不会启动。
我正在尝试开始使用 Yii2 框架。正如 documentation 中所述,我做了
$composer global require "fxp/composer-asset-plugin:~1.1.1"
$composer create-project --prefer-dist yiisoft/yii2-app-basic yii2-test
然后我cd yii2-test
和运行php yii serve --port=8888
我预计它会 运行 服务器但它以代码 255 退出。调试器说它停止 on the line
$fp = @fsockopen($hostname, $port, $errno, $errstr, 3);
错误信息是
fsockopen(): unable to connect to localhost:8888 (Connection refused)
我该如何解决这个问题?
一些环境:
描述:Ubuntu15.10
$ php -v
PHP 5.6.11-1ubuntu3.1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
这种奇怪的行为是由 xdebug 设置引起的
xdebug.halt_level=E_NOTICE|E_WARNING|E_USER_WARNING|E_USER_NOTICE
为了解决我的问题,我不得不从中排除 E_WARNING
。
说明
在开始之前 yii serve
命令检查是否有另一个应用程序使用选定的端口。
这是在方法 isAddressTaken
中通过尝试在此端口
$fp = @fsockopen($hostname, $port, $errno, $errstr, 3);
,因此每次端口为空(yii 可能会使用它)时,fsockopen 都会生成警告,该警告被 @
.
结果:如果你有 xdebug 并且它使所有脚本在警告时停止 - yii serve
将不会启动。