【问题标题】:Trouble Using Zend-Framework on my shared hosting account在我的共享主机帐户上使用 Zend-Framework 时遇到问题
【发布时间】:2011-11-27 20:54:54
【问题描述】:

我有一个网站...imaspy.com...我在使用已上传到我的主机帐户的 Zend 框架时遇到问题。

请访问我的网站并尝试成为注册用户(您可以使用虚假信息)并查看我收到的错误信息。这是错误:

警告:require_once(Zend/Loader/Autoloader.php) [function.require-once]:无法打开流:没有这样的文件或 /home/content/92/5336292/html/imaspy/scripts/library.php 中的目录 在第 5 行

致命错误:require_once() [function.require]:打开失败 需要'Zend/Loader/Autoloader.php' (include_path='.:/usr/local/php5/lib/php:mikerader.com/ZendFramework/library') 在 /home/content/92/5336292/html/imaspy/scripts/library.php 第 5 行

这是我用于 library.php 的代码。 (不是真实密码)

// Adjust the path to match the location of the library folder on your system
$library = 'mikerader.com/ZendFramework/library/';
set_include_path(get_include_path() . PATH_SEPARATOR . $library);
require_once('Zend/Loader/Autoloader.php');
try {
    Zend_Loader_Autoloader::getInstance();
    $write = array('host'     => 'imaspy.db.5336292.hostedresource.com',
                   'username' => 'imaspy',
                   'password' => 'password123',
                   'dbname'   => 'imaspy');
    $read  = array('host'     => 'imaspy.db.5336292.hostedresource.com',
                   'username' => 'imaspy',
                   'password' => 'password123',
                   'dbname'   => 'imaspy');

    // Comment out the next two lines if using mysqli
    // and remove the comments from the last two lines
    $dbWrite = new Zend_Db_Adapter_Pdo_Mysql($write);
    $dbRead = new Zend_Db_Adapter_Pdo_Mysql($read);

    //$dbWrite = new Zend_Db_Adapter_Mysqli($write);
    //$dbRead = new Zend_Db_Adapter_Mysqli($read);
} catch (Exception $e) {
    echo $e->getMessage();
}

【问题讨论】:

    标签: php mysql zend-framework


    【解决方案1】:

    这是你的错误:

    $library = 'mikerader.com/ZendFramework/library/';
    

    您需要在 服务器 上使用路径而不是 URL。比如:

    $library = $_SERVER['DOCUMENT_ROOT'] . '/path/to/zend/library';
    

    或者,如果您有正确的权限,绝对路径也可以:

    // or wherever it is
    $library = '/home/content/92/5336292/html/imaspy/library/Zend'; 
    

    另外,为什么要设置 两个 db 适配器对象,因为它们都是相同的?

    【讨论】:

    • 这对课堂来说是一件愚蠢的事情。我只是对其进行编辑以使其生效。我将测试您的解决方案并马上回来。
    • 哦,好的,我明白了。他们实际上是在你们学校教 Zend Framework 吗?请记住,我使用的路径是假设的,请确保您仔细检查并使用正确的路径。
    • 是的,我让它完美运行...谢谢!是的,我们正在使用的这本书正在教如何使用 Zend 框架在网站上设置用户帐户。
    • 很好,这很酷,他们选择了一个可靠的框架来使用。那么,为什么还要创建Zend_Db_Adapter_Pdo_Mysql两个 实例?您知道您只需要 一个 就可以读取和写入数据库(当然取决于您的 db 用户的权限)对吧?
    • 是的...我对这些东西了解不多。我设置了两个,因为出于某种原因我在本地主机上设置了两个,所以我认为保持相同会更容易。
    【解决方案2】:

    在你的 php.ini 中

    include_path = 您的 zend 库目录的本地路径。

    您可能无权访问 php.ini, 但是您可以尝试通过您的 .htaccess 文件进行操作:

    php_value include_path 你的 zend 库目录的本地路径。

    【讨论】:

      猜你喜欢
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多