Zend framework 设置Zend framework(Youtube API所需)的路径时出现问题

Zend framework 设置Zend framework(Youtube API所需)的路径时出现问题,zend-framework,installation,Zend Framework,Installation,我在这里复制并粘贴了此文本。编辑器似乎对某些部分进行了随机格式化 我下载了ZendGdata 1.9.6,提取并上传到我网站的 根文件夹…,我需要它与Youtube API一起使用,以便将视频上传到我的网站上。 我必须说我对这一切都不熟悉,所以我希望能考虑到这一点 库文件夹位于/ZendGdata/library 我遇到的问题是步履蹒跚。3.当我按照指示行事时 () 为了这个目的而建立它 下载Google数据客户端库文件 解压缩下载的文件。应提供四个子目录 创建: 演示-示例应用程序 文档-客

我在这里复制并粘贴了此文本。编辑器似乎对某些部分进行了随机格式化

我下载了ZendGdata 1.9.6,提取并上传到我网站的 根文件夹…,我需要它与Youtube API一起使用,以便将视频上传到我的网站上。 我必须说我对这一切都不熟悉,所以我希望能考虑到这一点

库文件夹位于/ZendGdata/library

我遇到的问题是步履蹒跚。3.当我按照指示行事时 ()

为了这个目的而建立它

  • 下载Google数据客户端库文件
  • 解压缩下载的文件。应提供四个子目录 创建:
    • 演示-示例应用程序
    • 文档-客户端库文件的文档
    • 库-实际的客户端库源文件
    • 测试-用于自动测试的单元测试文件
  • 将库文件夹的位置添加到PHP路径(参见下一节)
  • 除了.htaccess文件之外,建议添加路径的一个位置是php.ini。 我的网站在共享主机上。我无法访问主php.ini文件,但如果需要,我可以创建一个。对于Drupal CMS,对于某些函数,将其放入根文件夹就足够了

    我加了一行:

    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