2014-03-04 22 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步确实不必要。尼斯对答案的贡献 - 虽然不是答案 –