3

我的索引文件是这个

<?php
ini_set( "short_open_tag", 1 );
ini_set( "display_errors", 1 );
// Define path to application directory

defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);

// Let 'er rip
$application->bootstrap()->run();

当我运行它时

警告:require_once(Zend/Application.php):打开流失败:第 18 行 /var/www/Giftercity_backup/index.php 中没有这样的文件或目录致命错误:require_once():打开所需的“Zend/Application.php”失败。第 18 行 /var/www/Giftercity_backup/index.php 中的 php' (include_path=':.:/usr/share/php:/usr/share/pear')

4

3 回答 3

6

对于 Ubuntu。
如果你安装ZendFramework包。即sudo apt-get install zend-framework
它会将zend库文件放入/usr/share/php/libzend-framework-php/Zend/ folder
您只需复制并粘贴Zend/ folder into /user/share/php/
在终端中运行以下命令即可。

cd /usr/share/php
sudo cp -R libzend-framework-php/Zend/ Zend
于 2014-03-26T06:41:45.803 回答
1

将您的索引文件放在“公共”目录中。

或者,如果您想要或不能包含父目录中的文件,您需要更改此行:

set_include_path(implode(PATH_SEPARATOR, array(
  realpath(APPLICATION_PATH . '/../library'),
  get_include_path(),
)));

set_include_path(implode(PATH_SEPARATOR, array(
  realpath(APPLICATION_PATH . '/library'), // Here we have change
  get_include_path(),
)));

当然,我假设您已经将 Zend 文件放入 library/Zend

您还需要记住将带有“全部拒绝”的 .htaccess 文件放入您的应用程序、库以及您不希望用户访问的任何其他目录。

顺便提一句。这种包含库的方法已经很老了,不推荐使用。

于 2013-10-17T08:46:25.347 回答
0

如果您的index.php文件位于/var/www/Giftercity_backup/index.php(根据错误输出),那么根据您的代码,该library位置应该在其中,/var/www/library并且听起来是错误的。application/var/www/application

index.php应该在公共文件夹中,例如/var/www/Giftercity_backup/public,/var/www/Giftercity_backup/htdocs或类似的,并且您的 VirtualHost DocumentRoot 应该指向该文件夹。

此外,您set_include_path没有注册library (include_path=':.:/usr/share/php:/usr/share/pear')。

于 2013-10-15T15:39:31.513 回答