2009-08-08 71 views
1

我想使用Zend的Gbase库,但我不知道如何在没有实际安装它的PHP路径中这样做。使用Zend Framework而不是将它安装在服务器根目录下?

并发症来自于想为Drupal创建一个模块,它不受服务器的约束,但可以通过安装在模块的子文件夹中来访问该库。

有谁知道如何做到这一点?我试着做一个包括Zend的Loader,然后加载我想要的类,但是这会一直抛出错误。我是否需要在服务器上安装库,或者有办法解决这个问题,只能在此应用程序上使用它?

这是代码:

 

require_once 'library/Zend/Loader.php'; 
Zend_Loader::loadClass('Zend_Gdata_Gbase'); 

我得到如下因素的消息:

警告:那么Zend_Loader ::包括(的Zend/GDATA/Gbase.php)的zend-loader.include]:无法打开流:没有这样的文件或目录在线83上的/srv/www/ftp-www/tests/gdata/library/Zend/Loader.php

警告:Zend_Loader :: include()[function.include] :在/ srv/www/ftp-www/tests/gdat中打开包含(include_path ='。:/ usr/share/php:/ usr/share/pear')的'Zend/Gdata/Gbase.php'失败a/library/Zend/Loader.php on line 83

警告:Zend_Loader :: require_once(Zend/Exception.php)[zend-loader.require-once]:未能打开流:没有这样的文件或目录/srv/www/ftp-www/tests/gdata/library/Zend/Loader.php on line 87

致命错误:Zend_Loader :: require_once()[function.require]:无法打开所需的'Zend/Exception。 php'(include_path ='。:/ usr/share/php:/ usr/share/pear')在/srv/www/ftp-www/tests/gdata/library/Zend/Loader.php在线87

回答

6

如何使用set_include_path来配置您的include_path,并在其中添加Zend Framework代码的目录?

这样,您可以随心所欲地使用它 - 无需修改php.ini配置文件中的include_path

举例来说,这样的事情可能会做:

$path = '/PATH_TO_THE_FRAMEWORK/'; 
set_include_path(get_include_path() . PATH_SEPARATOR . $path); 

这样不是帮助?

+0

Zend的建议设置路径,以便ZF路径是在开始。因为它需要更少的时间来找到类。大部分课程都来自ZF,少数是您自己的... – 2009-08-09 07:40:54

+0

谢谢。这似乎奏效了。只需将“库”添加到zend_loader函数是不够的。非常感激。 我会投你的答案,但我没有足够的'名誉' – msumme 2009-08-11 00:30:00

+0

不客气:-)(不要担心代表事情;如果答案解决了你的问题,你应该能够标记为“已接受” - 尽管如此,您只能在每个问题的答案上做到这一点;所以,明智地选择^^) – 2009-08-11 04:08:15

2

您需要指定在哪里查找类文件。尝试:

Zend_Loader::loadClass('Zend_Gdata_Gbase', 'library/') 

或者你可能要设置在你的PHP库文件夹包含路径

相关问题