【问题标题】:php app on new server and getting error "failed to open stream: "新服务器上的 php 应用程序并出现错误“无法打开流:”
【发布时间】:2016-07-13 22:55:09
【问题描述】:

我正在尝试在新服务器上运行 PHP 应用程序。

当我尝试加载任何页面时出现错误

PHP 致命错误:require():需要打开失败 'D:!www\api2.domain.com\current\www\web/../../vendor/autoload.php' (include_path='.;C:\php\pear') 在 D:!www\api2.domain.com\current\www\web\index.php 第 5 行

文件存在于被调用的位置(仅供参考“当前”是一个符号链接)

如果我将一个简单的 phpinfo.php 放入文件夹(即文档根目录)D:!www\api2.domain.com\current\www\web\phpinfo.php 这工作正常。

这是一个 Yii 应用,但我认为不是框架有问题?

虚拟主机看起来像

<VirtualHost *:443>
ServerName stage-api2.domain.net
DocumentRoot D:/!www/api2.domain.com/current/www/web
ServerAdmin serveradmin@domain.com
ErrorLog  E:/logs/api2.domain.com-error.log
CustomLog E:/logs/api.domain.com-access.log common
</VirtualHost>

(include_path='.;C:\php\pear')

所以这是什么东西?我不确定这是在哪里设置的。我的 php 是 D:\PHP

我继承了目录结构所以不能更改

感谢您的帮助

【问题讨论】:

  • D:! D 冒号史瑞克??????那肯定不对
  • 包含路径是php.ini文件中的一个参数
  • 什么是 D:/!www 和什么是 E:/logs/?为什么你从 Windows 服务器运行 php 和 yii?如果您正在运行 iis windows 服务器,为什么不使用 asp 或 .net?

标签: php yii2


【解决方案1】:

更正您的虚拟主机定义中的这一行

DocumentRoot D:/!www/api2.domain.com/current/www/web

DocumentRoot D:/www/api2.domain.com/current/www/web

即删除!

或者如果确实存在这样的文件夹,请从文件夹名称中删除 !,然后修复 DocumentRoot

【讨论】:

  • 哇,鹰眼,@RiggsFolly!我永远不会看到那个。许多年前,10 多个程序员盯着一个 FORTRAN 语句,其中有人不小心把 GOT0(gee-oh-tee-zero)而不是 GOTO,没有人认出它,直到 - 意外 - 我碰巧看到了卡片说:“嘿,为什么这两个操作系统不匹配?”
  • @BruceDavidWilner 打孔卡 哈哈,另一个记得打孔卡的人。哦,美好的旧时光z
  • @BruceDavidWilner 你的头像......可能是你......但它肯定不是最近的照片
  • 对不起,设计这个应用程序的聪明人,我继承了我必须保持使用!www(with the bang) onwindoze 并且无法更改。
  • @布鲁斯:“!”对我来说就像一个酸痛的拇指。
猜你喜欢
  • 2013-10-07
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 2017-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
相关资源
最近更新 更多