Zend framework 设置Zend framework(Youtube API所需)的路径时出现问题
我在这里复制并粘贴了此文本。编辑器似乎对某些部分进行了随机格式化 我下载了ZendGdata 1.9.6,提取并上传到我网站的 根文件夹…,我需要它与Youtube API一起使用,以便将视频上传到我的网站上。 我必须说我对这一切都不熟悉,所以我希望能考虑到这一点 库文件夹位于/ZendGdata/library 我遇到的问题是步履蹒跚。3.当我按照指示行事时 () 为了这个目的而建立它Zend framework 设置Zend framework(Youtube API所需)的路径时出现问题,zend-framework,installation,Zend Framework,Installation,我在这里复制并粘贴了此文本。编辑器似乎对某些部分进行了随机格式化 我下载了ZendGdata 1.9.6,提取并上传到我网站的 根文件夹…,我需要它与Youtube API一起使用,以便将视频上传到我的网站上。 我必须说我对这一切都不熟悉,所以我希望能考虑到这一点 库文件夹位于/ZendGdata/library 我遇到的问题是步履蹒跚。3.当我按照指示行事时 () 为了这个目的而建立它 下载Google数据客户端库文件 解压缩下载的文件。应提供四个子目录 创建: 演示-示例应用程序 文档-客
- 演示-示例应用程序
- 文档-客户端库文件的文档
- 库-实际的客户端库源文件
- 测试-用于自动测试的单元测试文件
include_path=".:/usr/lib/php:/usr/local/lib/php:/home/habaris6/
public_html/site.root.folder/ZendGdata/library";
但是,当我转到mysite.com/ZendGdata/demos/Zend/Gdata/InstallationChecker.php测试设置时,如
Youtube上的文档,我发现错误:
PHP Extension ErrorsTested No errors found
Zend Framework Installation Errors: Tested 0
Exception thrown trying to access Zend/Loader.php using 'use_include_path' = true.
Make sure you include Zend Framework in your include_path which currently
contains: .:/usr/lib/php:/usr/local/lib/php
SSL Capabilities Errors: Not tested
YouTube API Connectivity Errors: Not tested
所以我的问题是:这是“将库文件夹的位置添加到PHP路径”的正确方法吗?
我有点糊涂了
有人说php.ini文件只在它所在的文件夹中处于活动状态。如果是这种情况,那么ZendGdata文件夹中应该有哪些?
正如我所说,我的目的是正确设置Zend框架以允许使用Youtube API,这也是我必须学习的
在Youtube API谷歌集团,我被推荐到这里。下载文件附带的文档&在zend.com上,人们比像我这样的初学者知道得多
另一个人说我试着把这个
$clientLibraryPath = '/home/habaris6/public_html/site.root.folder/ZendGdata/library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
在mysite.com/ZendGdata/demos/Zend/Gdata/InstallationChecker.php中
尽管我之前尝试过的所有测试都失败了,但第一次测试除外,当我将上述代码片段放入安装检查器时,我得到了所有测试的肯定结果:
Ran PHP Installation Checker on 2009-12-09T21:16:08+00:00
PHP Extension ErrorsTested: No errors found
Zend Framework Installation Errors Tested No errors found
SSL Capabilities ErrorsTested No errors found
YouTube API Connectivity ErrorsTested No errors found
这是否意味着如果我将该代码段放在InstallChecker中,所有需要该库的脚本都可以访问它
如果没有,请让我知道在自制的php.ini中确切放置什么&应该放在哪个文件夹中。
如果这不起作用,而我使用的是.htaccess文件,那么根据上面提到的文件夹,内容应该是什么&它们应该在哪些文件夹中?我读到.htaccess文件应该放在每个文件夹中。这是否真的意味着我应该在每个ZendGdata文件夹中放置一个?
在其他地方没有得到足够的回应之后,如果有任何指导使我能够最终开始,我将不胜感激
提前感谢。无需将所有ZendGdata代码放在网站文档根目录下。事实上,通常我不会将PHP类库放在可以被web请求直接访问的位置,因为如果有任何方法可以通过直接调用类文件来进行破坏,那么任何人都可以这样做 相反,将库放在文档根目录之外,然后从直接运行的脚本中引用它们。例如,您可以创建一个目录
phplib
,作为public\u html
目录的姊妹目录。然后在该phplib
目录下上传ZendGdata包
您可以在.htaccess文件中设置PHP包含路径。您不需要在每个目录中创建.htaccess文件,因为任何.htaccess文件中的指令都适用于.htaccess所在目录下的所有文件和目录。有关更多信息,请参阅
因此,我建议在/home/habaris6/public_html/site.root.folder中创建一个.htaccess文件,其中包含以下指令:
<IfModule mod_php5.c>
php_value include_path ".:/usr/local/lib/php:/home/habaris6/phplib/ZendGdata/library"
</IfModule>
php_值包括_路径“:/usr/local/lib/php:/home/habaris6/phplib/ZendGdata/library”
有关此操作的更多信息,请参阅
请注意,这假设您的网络托管公司允许您使用.htaccess文件,并且允许您在.htaccess文件中使用php\u值
指令。启用这些选项是一种Apache配置,出于性能或安全原因,它们可以有自己的策略来应对。你应该联系他们以获得这个答案;互联网上没有人可以回答有关托管提供商政策的问题
如果选择使用set\u include\u path()
PHP函数将目录附加到运行时包含路径,则需要在用作web请求的登录点的每个文件中执行此操作。也就是说,如果允许直接向foo.php
发出请求,则需要将代码添加到foo.php
。foo.php
随后包含的任何文件或类都使用您定义的包含路径
还要注意,无论使用什么方法定义include路径,它都必须在脚本尝试通过include路径加载任何PHP类文件之前生效。htaccess方法应该可以实现这一点,如果使用code方法,只需将代码放在PHP脚本中足够高的位置即可
我不使用在站点文档树中的每个目录下创建自定义
php.ini
文件的方法。这是PHP5.3.0的一个新特性,早期版本的PHP不支持。如果您使用的是Apache,您只需使用.htaccess即可获得相同的效果。非常感谢您的详细回复。我听从了你的建议,将库转移到了/phplib/出于某种原因,.htaccess方法不起作用,可能我不是al