我的项目使用 Zend 3 框架和 php7.2。当我在 Ubuntu 17.04 上构建 Web 时,这个 Web 无法正常工作。
> php -S 0.0.0.0:8080 -t public public/index.php
[Thu Dec 7 23:25:59 2017] PHP Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Thu Dec 7 23:25:59 2017] PHP Fatal error: Unknown: Failed opening required '/home/isling/workspace/sp/shopping/public/public/index.php' (include_path='.:/usr/share/php') in Unknown on line 0
'.../public/public/index.php' -> public 重复???
最佳答案
-t
参数指定文档根目录,假定它是指定文件所在的位置。所以你只需要这个:
php -S 0.0.0.0:8080 -t public index.php
我通常把它放在我的 composer.json
中:
"scripts": {
"serve": "php -S 0.0.0.0:8080 -t public/ index.php"
}
然后我可以只做 composer serve
来获得一个开发服务器。
[EDIT 2018-04-27] 这种行为在版本 7.2.3 左右发生了变化。文件名参数现在似乎是相对于当前目录而不是相对于通过 -t
指定的 doc 根目录,所以你现在可以使用类似:php -S 0.0.0.0 :8080 -t public/public/index.php
关于PHP fatal error : Unknown: Failed opening required | public duplicate in index. php链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699634/