【问题标题】:Zend GData path not working with WordpressZend GData 路径不适用于 Wordpress
【发布时间】:2012-02-19 22:44:47
【问题描述】:

所有, 我正在尝试使用以下代码加载我的 Zend 框架:

require_once $themePath.'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata', 'D:\My Documents\xampp\htdocs\wordpress\wp-content\themes\theme');
Zend_Loader::loadClass('Zend_Gdata_HttpClient', 'D:\My Documents\xampp\htdocs\wordpress\wp-content\themes\theme');
Zend_Loader::loadClass('Zend_Json', 'D:\My Documents\xampp\htdocs\wordpress\wp-content\themes\theme');

这让我在那儿走得更远。但是,当它尝试在下一页加载 Zend/Gdata/App.php 时,它说找不到它。我认为它会起作用,但我不断收到以下错误:

警告:require_once(Zend/Gdata/App.php) [function.require-once]:无法打开流:D:\My Documents\xampp\htdocs\wordpress\wp-content\ 中没有这样的文件或目录在第 27 行的主题\主题\Zend\Gdata.php

第 27 行是:

require_once 'Zend/Gdata/App.php';

为什么这不起作用?提前感谢您的帮助!

【问题讨论】:

    标签: php wordpress zend-framework


    【解决方案1】:

    尝试将Zend 目录所在的路径添加到包含路径,如下所示:

    set_include_path(implode(PATH_SEPARATOR, array(
            realpath($themePath),
            get_include_path(),
     )));
    

    这样,包括Zend/Class.php 之类的文件将在$themePath 中查找Zend 框架文件。在当前情况下,它无法定位 Zend 文件相对于它们被包含的位置。

    【讨论】:

    • 谢谢 Drew,我可以把它放在 Wordpress 中的 functions.php 页面的顶部吗?
    • 是的,只要它只运行一次并且在需要使用 Zend 文件之前执行它就可以了。
    • 还有一个问题,我需要对代码中的 PATH_SEPARATOR 做些什么吗?现在我有以下内容:set_include_path(implode(PATH_SEPARATOR, array( realpath($themePath), get_include_path(), )));包括“Zend/Loader.php”; Zend_Loader::loadClass('Zend_Gdata'); Zend_Loader::loadClass('Zend_Gdata_HttpClient'); Zend_Loader::loadClass('Zend_Json');
    • 你不应该这样做。 PATH_SEPARATOR 只是一个常量,在 Linux 上解析为 :,在 Windows 上解析为 ;,因为每个系统使用不同的字符来表示路径分隔。
    • 抱歉,我仍然收到以下错误:警告:include_once(Zend\Gdata.php) [function.include-once]: failed to open stream: No such file or directory in D:\My Documents\xampp\htdocs\wordpress\wp-content\themes\theme\Zend\Loader.php 第 146 行
    猜你喜欢
    • 2016-03-02
    • 2011-08-14
    • 2022-01-05
    • 2012-08-29
    • 2011-07-12
    • 2019-10-13
    • 2012-06-16
    • 2017-07-28
    • 1970-01-01
    相关资源
    最近更新 更多