2014-03-04 24 views
5

我想在我的Mac迷你的Mac OS 10.8.5的Apache 2.4不加載php5.5的Mac OS 10.8

的Apache使用Apache 2.4.7與php5.5在here 2.4.7安裝下面的說明

運行的apachectl -v,顯示

Server version: Apache/2.4.7 (Unix) 
Server built: Mar 4 2014 19:23:56 

PHP5.5安裝繼here

運行PHP -v指示,顯示

PHP 5.5.8 (cli) (built: Jan 12 2014 18:50:29) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies 
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies 
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 

我在apache的http.conf文件中添加以下行

LoadModule php5_module /usr/local/php5/libphp5.so 

但它似乎沒有工作,因爲當我嘗試先從服務器

sudo apachectl start 

它會產生以下錯誤

httpd: Syntax error on line 151 of /usr/local/apache-2.4.7/conf/httpd.conf: 
    Cannot load /usr/local/php5/libphp5.so into server: 
     dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: 
      unixd_config\n 
Referenced from: /usr/local/php5/libphp5.so 
Expected in: /usr/local/apache-2.4.7/bin/httpd in /usr/local/php5/libphp5.so 

正如我所鏈接的教程建議,我修改了我的bash的個人資料與

export PATH=~/bin:/usr/local/php5/bin:$PATH 
export MANPATH=/usr/local/apache/man:$MANPATH 

我一直在嘗試了幾個小時不同的解決方案,這是據我得到了。

如果有人能給我一些提示,我會很高興,我很絕望......!

回答

7

小時後,嘗試這一小時,並做到這一點,我管理使其工作。

我將描述我所做的,以幫助其他人節省那些時間!

請注意,此解決方案適用於MAc OS X 10.8.5。它可能不適合你!

以下是有的Apache 2.4.7PHP 5.5工作需要

  1. 更新和下載工具。

    1.1 - XCode。從Apple Store免費獲取。

    1.2 - XCode命令行。轉到XCode,首選項,下載並獲取命令行。

    1.3 - 自制。使用以下命令:

    ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 
    

    See the website欲瞭解更多信息。

  2. 幾個檢查

    2.1 - 檢查沒有當前Apache或PHP的安裝目錄惱人的周圍。要做到這一點我刪除他們追殺配置文件,以防萬一,用命令

    find /usr -name "apache" 
    
    find /usr -name "httpd" 
    
    find /usr -name "php 
    

    2.2 - 使用BREW醫生確認無CONFIGS是惱人的設置。

    brew doctor 
    

    2.3 - 檢查你做的對通過確認下列命令不起作用

    php -v 
    apachectl -v 
    httpd -v 
    
  3. 安裝Apache

    3.1 - 使用homebrew apache2 from djl

    brew tap djl/homebrew-apache2 
    brew install djl/apache2/apache24 
    

    3.2 - 修改你的.bash_profile以使在/ usr/local/bin中的優先級文件夾(因此係統得到Apache和PHP從那裏,而不是其他的文件夾如/ usr/sbin目錄)

    echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile 
    

    3.3 - 確認apache的工作。爲此,請啓動該服務並轉至顯示「It works」的localhost。然後關閉它繼續使用PHP。

    sudo apachectl start 
    (Go to browser and open localhost) 
    sudo apachectl stop 
    
  4. 安裝PHP

    4.1使用homebrew php from josegonzalez

    brew tap homebrew/dupes 
    brew tap homebrew/versions 
    brew tap josegonzalez/homebrew-php 
    brew install php55 
    

    4.2萬一它並沒有因爲出現以下錯誤的工作

    cannot open /usr/share/httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 217. 
    

    ...創建符號鏈接:

    cd /usr/share/ 
    sudo ln -s /usr/local/Cellar/apache24/< apache version installed >/ httpd 
    

    ...並再次執行安裝。

    < apache版本安裝>將取決於安裝的版本。 在撰寫本文時,它是2.4.10

  5. 告訴Apache關於它的新朋友。

    5.1修改httpd.conf。 首先打開文件。

    cd /usr/local/etc/apache2/ 
    sudo nano httpd.conf 
    

    ...然後添加PHP模塊中LoadModule區段(搜索的LoadModule)

    LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so 
    

    ...和在mime_module添加PHP類型。搜索mime_module並在該部分中搜索#Filters

    ...將下一行添加到它們下面。

    # process php type files using apache php module 
    AddType application/x-httpd-php .php 
    

    ,告訴阿帕奇通過它來運行該文件是在它之前向客戶端發送的PHP處理器。

    ...保存並退出。

  6. 可選,如果您想將網站存儲在User文件夾中而不是WebService中。

    6.1再次修改httpd.conf。 打開文件。

    cd /usr/local/etc/apache2/ 
    sudo nano httpd.conf 
    

    ,並添加以下行在文件結束後,您的用戶名替換。

    ServerName dev.local 
    User <username> 
    Group staff 
    
    DocumentRoot "/Users/<username>/Sites" 
    ErrorLog "/usr/local/var/log/apache-error.log" 
    CustomLog "/usr/local/var/log/apache-access.log" common 
    <Directory "/Users/<username>/Sites"> 
        Options All 
        AllowOverride All 
        IndexOptions NameWidth=* 
    
        Require all denied 
        Require host localhost 
        Require host 127.0.0.1 
    </Directory> 
    
  7. 完成它!

    7.1啓動Apache服務

    sudo apachectl start 
    

    7.2創建您的網站文件夾的根目錄中的PHP文件(如果你是第6步,在/Users//Sites/test.php創建)

    7.3打開它。

    Go to Browser and localhost/test.php 
    

好運。

+1

)我們已經感受到了同樣的挫折感,我們嘗試了與你同樣的事情,並且失敗了,決定嘗試Brew。Brew抱怨MacPorts仍然安裝好,「哪個端口」向我們展示了哪裏我們需要將apsx從/ usr/local/apache/bin複製到/ usr/sbin,然後完成brew&make,但是沒有php解析。首先MIME的東西沒有意義,因爲我們認爲與文件被髮送到瀏覽器(即發送mp3打開計算機上的MP3播放器),但經過您的指示,PHP被解析。我們編輯該部分以幫助! tu –

+0

我很高興它幫助!當然歡迎貢獻。希望它也能幫助其他人。 –

+0

我真的不明白步驟4.2,我應該從包含'config_vars.mk'的文件夾中添加一個simlink到httpd的文件夾二進制文件或apxs的文件夾? – Fractaliste

0

我猜你正在經歷從Apache2的the zend_parse_paramater錯誤,同時加載libphp5.so:

httpd: Syntax error on line 151 of /usr/local/apache-2.4.7/conf/httpd.conf: 
    Cannot load /usr/local/php5/libphp5.so into server: 
     dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: 

看看./configure的輸出。如果你收到一條類似於以下內容的消息:

configure:warning:支持重新生成Zend/PHP解析器的野牛版本:1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1(found:none)。

嘗試安裝野牛:命令和apt-get安裝野牛

然後讓distclean命令隨後的./configure ......然後做-i來安裝

+0

感謝您的幫助,可惜它沒有解決問題。 –

+1

我很抱歉聽到:( –

0

本指南是偉大的,除了4.1步,在那裏你必須安裝PHP是這樣的:在httpd.conf自動

brew install php55 --homebrew-apxs 

此行將把「的LoadModule php5_module ......」,因此,如果有人提出的其他步驟同上,只是刪除PHP搭配:

brew remove php55 

,然後用線安裝PHP:

brew install php55 --homebrew-apxs 

然後就沒有問題了!

+0

這會使第5步確實不必要。尼斯對答案的貢獻 - 雖然不是答案 –