簡體   English   中英

設置Apache / Host要求后無法查看Zend Framework 1.0的index.php?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM