我发现一个错误,很难调试,因为:
它只发生在远程服务器上(但不是所有的服务器),而不是在我的本地开发平台上,
我不确定从哪里开始寻找或者要调查什么PHP设置,尽管我怀疑问题与远程服务器环境有关。
另外一个复杂性是,在我开发的大型多模块脚本中,这个问题只会出现在tinyMCE的实现中。一个典型的问题是:
警告:include_once(core/startup/GLOBALS.php) [function.include-once]:无法打开流:在/home/wikindx/www/www/wikindx4/core/tiny_mce/plugins/wikindxLink/dialog.php 的第33行没有这样的文件或目录
所以除了在服务器环境设置中可能需要找到一个解决方案之外,我可能需要改变一些tinyMCE设置——我已经多次在tinyMCE论坛上寻求帮助,但没有得到任何回应。
这在我的本地平台和其他远程服务器上都可以正常工作。不用说,GLOBALS.php
在core/startup/中,但我不能硬编码为在/home/wikindx/www/www/wikindx4/core/startup/
中找到它,因为这些脚本必须在任何服务器上工作。
编辑:我真的怀疑它与tinyMCE环境有关,因为导致问题的服务器安装在调用include_once(core/startup/GLOBALS.php
)时没有任何问题,当那个调用在tinyMCE系统之外时。tinyMCE中的某些东西改变了include_once()
所寻找的路径。
include_path
。我通常喜欢根据它们所在的目录包含文件,因此这将使它成为require __DIR__.'/../../../startup/GLOBALS.php';
。 - Wrikkeninclude
了一个实际上不属于你的包的文件,所以与相关全局文件的路径关系无法正常工作?换句话说:dialog.php并不属于与GLOBALS.php相同的包,但出于某种原因仍然知道它的存在,并希望从“某个地方”包含它? - Wrikkendialog.php
中使用require __DIR__.'/../../../startup/GLOBALS.php';
不是一个选项? - Wrikken