gpt4 book ai didi

PHP "failed to open stream"从一台服务器迁移到另一台服务器后,其他服务器已弃用,为什么?

转载 作者:行者123 更新时间:2023-12-04 19:03:49 25 4
gpt4 key购买 nike

我将一个运行 ob ubuntu 10.10 服务器的 PHP 网站迁移到另一个 unbutu 12.04 服务器。
现在有些 php 函数已被弃用,有些函数找不到他们正在寻找的正确“路径”。
旧服务器运行 php 5.3.3,新服务器运行 php 5.3.10(所以没有太大区别)

一些链接是这样写的:

"../modules/xxx.php"

我只是将名称更改为完整路径,它正在工作。

由于该网站完全在旧服务器上运行,因此配置应该“正常”。你们认为除了 php 版本之外还有其他原因导致此错误吗?
我考虑在新服务器上将 php 降级到 5.3.3 进行测试....
但我不会这样做,当可能有其他原因时。

一些错误示例:
 Deprecated: Function split() is deprecated in /data/
Warning: include(modules/mdl_users/settings.conf.php): failed to open stream: No such file or directory in /data/xxx/www/classes/module.class.php on line 35

当路径的一部分由这样的函数写入时,他无法打开文件
include($this->registry->admin_path."modules/".$this->name."/settings.conf.php"

所以很明显php中的配置已经以某种方式改变了。由于该网站不是我的,我不想手动更改 100 条路径。你认为降级会“修复”这个问题吗?

提前致谢

最佳答案

在我看来,php.ini 文件只是在新服务器上选择了不同的选项。例如,您可以在 php.ini 的错误部分中隐藏已弃用的警告。

如果这些警告设置为在您的旧服务器上隐藏,并设置为在您的新服务器上显示,那么这就是您突然看到它们的原因。

我倍加倍的对 PHP 的小版本升级会是个问题。毕竟还是5.3。 PHP 配置几乎可以肯定是问题的原因。

如果您有访问权限,最好的办法是对新旧 php.ini 文件进行文件比较。

或者,如果需要,您可以在运行时在代码中设置大多数 php.ini 选项。

关于PHP "failed to open stream"从一台服务器迁移到另一台服务器后,其他服务器已弃用,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18314284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com