指定外部脚本(服务器内部)的路径


Specify path to external scripts (internal to the server)

我有一个自定义脚本要包含在Joomla3.x页面中。此脚本位于Joomla安装根目录上的文件夹"foo"中。此脚本在其自己的文件夹中具有对其他辅助脚本的内部引用。为了做到这一点,我使用了一个允许脚本执行的"内容插件"。

问题是,这个插件执行php脚本时,就好像它在安装根目录中,而不是在文件夹"/foo"中一样以这种方式运行脚本,其他次要脚本看不到它。

然后我在脚本中设置了php路径变量,但它没有解决:

ini_set('include_path', 'foo');

怎么可能处理这种情况呢?

使用JLoader导入脚本,如:

JLoader::import('foo.bar', JPATH_ROOT);

这假设您在Joomla根目录的foo文件夹中有一个PHP文件bar.PHP。当您不想通过JLoader包含它们时,其他脚本必须正确处理它们的包含(然后它们不再是独立的)。