[英]Can't view index.php of Zend Framework 1.0 after setting up Apache/Host requirements?
UPDATE :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框架時遇到了問題(僅是基本的QuickStart)。
我正在使用Apache 2.2.22
我的本地主機文件可從/ Library / WebServer / Documents訪問
我也正在運行PHP 5.3.15。
我已經通過命令行(使用zf.sh文件)創建了一個名為“ quickstart”的新項目(按照Zend網站推薦的部分),該項目存儲在以下位置:/ Library / WebServer / Documents / quickstart
我既遵循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/
,只會得到一個空白頁面?
任何人都可以就問題可能是什么,我缺少什么以及我可以做些什么來顯示初始的“歡迎”頁面提出建議。
我確定我只是想念一個小人物,但這顯然造成了足以使基本頁面無法顯示的問題。
謝謝。
標記
Zend文件和Apache進程之間可能存在用戶權限問題。
由於您可以使用zf.sh
創建項目,因此顯然可以zf.sh
Zend文件。 但是通過Apache失敗會提示Zend文件可能無法通過Apache進程(即運行Apache進程的用戶)進行訪問。
$ chmod 0777 /Users/markmcdonnell/Dropbox/Library/PHP/ZendFramework-1.12.0/library
去測試。
您可能會獲得更少的擴展權限,例如0644
,但是我承認我對此方面感到很恐懼。 ;-)
僅針對可能遵循此規則的其他人。 上面的Kamil回答是可行的,但在Apache的安全配置之外開了一個安全漏洞。 只要您知道並在Apache之上具有另一層安全性,那就很好。
解決該問題的另一種方法是將ZendFramework放在根目錄層次結構內的某個位置。 像:DocumentRoot / Library / WebServer / Documents / ZendFramework-1.12.0 / library或DocumentRoot / Library / WebServer / Documents / quickstart / public / ZendFramework-1.12.0 / library Apache服務器根目錄內的任何路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.