Zend 框架与 XAMPP 的集成
Posted
技术标签:
【中文标题】Zend 框架与 XAMPP 的集成【英文标题】:Zend Framework Integration with XAMPP 【发布时间】:2011-12-18 04:32:40 【问题描述】:我一直在尝试将 zend 框架与 xampp 集成。却一事无成。
E:\Program Files\XAMPP\xampp\php\PEAR
从上面的路径中删除我的zend库
目前zend框架在
中可用G:\ZendFramework-1.11.11\ZendFramework-1.11.11
我也尝试从
添加 zend 库G:\ZendFramework-1.11.11\ZendFramework-1.11.11\library
到
E:\Program Files\XAMPP\xampp\htdocs\testproject\library
但是,每当我尝试通过此 URL 打开我的页面时
http://localhost:85/testproject/public/
我收到了欢迎使用 zendframework 的输出
但是,每当我尝试打开使用 ZEND_FORM 等 zend 库的任何页面时,都会出现异常
Fatal error: Class 'Zend_Form' not found in E:\Program Files\XAMPP\xampp\htdocs\testproject\public\Guestbook.php on line 15
我还更新了我的 php.ini 文件并将我的 include_path 恢复到此
include_path = ".;E:\Program Files\XAMPP\xampp\php\PEAR;G:\ZendFramework-1.11.11\ZendFramework-1.11.11\library\"
我们将不胜感激紧急帮助
我的操作系统是 Windows 7。
当我输入命令 php -v 然后它返回给我
PHP 5.3.0 (cli) (built: Jul 2 2009 21:08:11)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
然后 zf show version 返回了我
zf show version
Zend Framework Version: 1.11.11
xampp 的版本是 1.7.2
应用程序版本是:
Apache/2.2.12 (Win32) DAV/2 mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0
Index.php 文件
<?php
// Set the initial include_path. You may need to change this to ensure that
// Zend Framework is in the include_path; additionally, for performance
// reasons, it's best to move this to your web server configuration or php.ini
// for production.
set_include_path(implode(PATH_SEPARATOR, array(
realpath(dirname(__FILE__) . '/../library'),
get_include_path(),
)));
// 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'));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
$application->run();
enter code here
.htaccess 文件
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %REQUEST_FILENAME -s [OR]
RewriteCond %REQUEST_FILENAME -l [OR]
RewriteCond %REQUEST_FILENAME -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
【问题讨论】:
您是否尝试过在创建项目后将 zend 框架库放在项目的库文件夹中? 我不明白你为什么要做这一切。要让 ZF 工作,您只需安装 XAMP,将 ZF 解压缩的文件夹放入 localhost,运行 zf.bat 以创建您的项目,然后将 ZF 库复制/粘贴到您的项目文件夹中。之后,您必须将一条规则更改为您的 http.conf,即将 AllowOverride None 更改为 AllowOverride All 试过但没有帮助仍然是同样的错误:( 发布你的 .htaccess 文件和 index.php 的来源 我已经更新了我的问题并包含了您要求我提供的两个文件。 【参考方案1】:也许这会有所帮助,我使用的是 EasyPhp(而不是 XAMPP) 和zend的自动生成的.htaccess,我在apache中有这个
NameVirtualHost 127.0.0.1:80
<VirtualHost abc:80>
DocumentRoot "C:/www/www/abc/public"
ServerName .local
SetEnv APPLICATION_ENV development
<Directory "C:/www/www/abc/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这就是目录的样子
Directory di c:\www\www\abc
[.] [..] .buildpath .project
[.settings] .zfproject.xml [application] [cache]
[data] [docs] [library] [public]
[scripts] [tests]
Directory di c:\www\www\abc\library
[.] [..] [abc] [tcpdf] [Zend] [ZendX]
【讨论】:
以上是关于Zend 框架与 XAMPP 的集成的主要内容,如果未能解决你的问题,请参考以下文章
ZF2 将 BjyAuthorize 与 Zend\Navigation 集成
将“流行”因素与 zend-search lucene 正确集成的最佳方法是啥?