【发布时间】:2012-12-08 16:31:47
【问题描述】:
更新:Apache 错误日志中出现以下错误...
[Sat Dec 08 16:41:39 2012] [error] [client 127.0.0.1]
PHP Fatal error: require_once():
Failed opening required 'Zend/Application.php'
(include_path='/Library/WebServer/Documents/quickstart/library:.:/php/includes:/Users/markmcdonnell/Dropbox/Library/PHP/ZendFramework-1.12.0/library')
in /Library/WebServer/Documents/quickstart/public/index.php on line 18
我使用的是 Mac OSX 10.8.2 (Mountain Lion),但在设置和运行 Zend 框架时遇到了问题(只是基本的快速入门)。
我使用的是 Apache 2.2.22
可以从 /Library/WebServer/Documents 访问我的 localhost 文件
我也在运行 PHP 5.3.15。
我通过命令行(使用 zf.sh 文件)创建了一个名为“quickstart”的新项目(根据 Zend 网站上的部分推荐),该项目存储在这里:/Library/WebServer/Documents/快速入门
我已经按照 Zend 官方网站的说明以及关于安装 Zend 的在线书籍进行操作:http://www.survivethedeepend.com/zendframeworkbook/en/1.0/creating.a.local.domain.using.apache.virtual.hosts
我的 php.ini (/private/etc/php.ini) 文件已更新为包含 ZendFramework 目录中 library 文件夹的路径...
include_path = ".:/php/includes:/Users/<home>/Dropbox/Library/PHP/ZendFramework-1.12.0/library"
我已经更新了/etc/apache2/httpd.conf,所以它包括...
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
# Ensure "localhost" is preserved unchanged pointed
# to the default document root for our system.
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents
</VirtualHost>
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerName quickstart.local
DocumentRoot /Library/WebServer/Documents/quickstart/public
SetEnv APPLICATION_ENV "development"
<Directory /Library/WebServer/Documents/quickstart/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
...我还更新了/etc/hosts,所以它包括...
127.0.0.1 localhost
127.0.0.1 quickstart.local
我正在使用 sudo apachectl graceful 重新启动 Apache(我也使用过 sudo apachectl restart)
所以,如果我现在尝试访问http://localhost/,我会看到我的/Library/WebServer/Documents 目录,我可以看到PHP 仍在运行,没有任何问题。但如果我尝试访问http://quickstart.local/,我只会得到一个空白页面?
任何人都可以建议问题可能是什么,我缺少什么以及我可以做些什么来显示初始的“欢迎”页面。
我确定我只是想念一个小人物,但这显然会导致基本页面无法显示的问题。
谢谢。
标记
【问题讨论】:
-
您需要更新
php.ini中的include_path,使其指向ZendFramework所在的文件夹 -
我已经这样做了。似乎解决方案是将 ZendFramework 文件夹放在 localhost 根目录中!不知道为什么,但 ini 文件无法跟随 Dropbox 文件夹的路径?
-
它会起作用,但不是最佳实践。库通常保存在文档根目录之外...
标签: php apache zend-framework virtualhost