0

我正在尝试将 Zend Gdata 框架与 wordpress 一起使用,但我遇到了一些问题。现在,当我使用 XAMPP 在 localhost 上进行测试时,一切正常。但是在我的网络服务器上,我的代码崩溃了。

这是我包含框架的代码。

`set_include_path(TEMPLATEPATH . '/includes/');
require_once ('Zend/Loader.php'); 
Zend_Loader::loadClass('Zend_Gdata_Youtube');`

该代码产生以下错误。

警告:Zend_Loader::include_once(Zend/Gdata/Youtube.php) [zend-loader.include-once]:无法打开流:/home/damain/public_html/mysite.com/wp-content 中没有这样的文件或目录/themes/mysite/includes/Zend/Loader.php 第 146 行

警告:Zend_Loader::include_once() [function.include]: 未能打开“Zend/Gdata/Youtube.php”以包含(include_path='/home/damain/public_html/mysite.com/wp-content/themes/mysite/包括/')在/home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/Zend/Loader.php 146行

致命错误:在 /home/damain/public_html/mysite.com/wp- 中未捕获异常 'Zend_Exception' 并带有消息“文件“Zend/Gdata/Youtube.php”不存在或文件中未找到类“Zend_Gdata_Youtube”” content/themes/mysite/includes/Zend/Loader.php:99 堆栈跟踪:#0 /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/modules/yt_link_checker.php(19): Zend_Loader::loadClass('Zend_Gdata_Yout...') #1 /home/damain/public_html/mysite.com/wp-includes/plugin.php(405): load_zend_gdata('') #2 /home/damain/public_html/ mysite.com/wp-admin/admin.php(111): do_action('load_zend_gdata', Array) #3 /home/damain/public_html/mysite.com/wp-admin/index.php(10): require_once(' /home/damain/...') #4 {main} 在 /home/damain/public_html/mysite 中抛出。com/wp-content/themes/mysite/includes/Zend/Loader.php 第 99 行

我似乎无法弄清楚这个问题。任何人都可以帮忙吗?

4

3 回答 3

1

在这种情况下,最好的解决方案是运行需要 Zend Loader 的脚本并使用它var_dump(get_include_path())来查看服务器所说的路径是什么。然后继续修改 php.ini 的 include_path 直到脚本找到它。

在您的情况下,我不确定“damain”是否应该是“域”。我最终起作用的包含路径是:

/home2/thelove6/public_html/zf/ZendGdata/library”thelove6是用户名。

于 2012-06-21T23:51:18.997 回答
0

好的,可能的原因是:您没有使用正确的类名大小写。对于 1.11.11 版本,它将是Zend_Gdata_YouTube而不是 Zend_Gdata_Youtube。

Windows 操作系统忽略了这种情况,而 Linux 服务器则没有。希望这能解决您的问题,只需查看类或文件名的正确大小写。

于 2012-07-02T13:09:51.290 回答
0

您是否查看这些文件是否存在于这些目录中?(/mysite/includes/Zend/Loader.php) 他们有正确的权限吗?听起来这很可能是问题所在。要检查的另一件事phpinfo()是您已将所有库安装在实时服务器上。

于 2011-10-31T02:46:55.313 回答