使用Zend Framework无需在服务器根目录中安装它?

时间:2009-08-08 21:36:44

标签: php zend-framework install

我正在尝试使用Zend的Gbase库,但如果没有在PHP路径中实际安装它,我无法弄清楚如何这样做。

复杂化来自于想要为Drupal创建一个模块,该模块不受其安装的服务器的限制,但可以通过将其安装在模块的子文件夹中来访问库。

有谁知道怎么做?我已经尝试过包含Zend的Loader然后加载我想要的类,但这会不断抛出错误。我是否需要在服务器上安装该库,或者是否有办法在此应用程序中使用它?

这是代码:


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

我收到以下消息:

警告:Zend_Loader :: include(Zend / Gdata / Gbase.php)[zend-loader.include]:无法打开流:/ srv / www / ftp-www / tests / gdata /中没有这样的文件或目录第83行的库/ Zend / Loader.php

警告:Zend_Loader :: include()[function.include]:无法打开包含的'Zend / Gdata / Gbase.php'(include_path ='。:/ usr / share / php:/ usr / share / pear' )在/srv/www/ftp-www/tests/gdata/library/Zend/Loader.php第83行

警告:Zend_Loader :: require_once(Zend / Exception.php)[zend-loader.require-once]:无法打开流:/ srv / www / ftp-www / tests / gdata /中没有这样的文件或目录第87行的库/ Zend / Loader.php

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

2 个答案:

答案 0 :(得分: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);

这不会有帮助吗?

答案 1 :(得分:2)

您需要指定查找类文件的位置。尝试:

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

或者您可能想在php include路径中设置库文件夹