Apache 2.4没有加载php5.5与Mac OS 10.8

时间:2014-03-04 19:22:25

标签: php macos apache

我正在尝试在Mac Mac 10.8.5的迷你Mac中使用Apache 2.4.7和php5.5

按照here

中的说明安装Apache 2.4.7

运行apachectl -v,显示

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

按照here

中的说明安装PHP5.5

运行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

我一直在尝试几个小时不同的解决方案,这就是我所拥有的。

如果有人可以给我一些提示,我会非常高兴,我非常绝望......!

3 个答案:

答案 0 :(得分:7)

经过几个小时的尝试并做到这一点,我设法让它发挥作用。

我将描述我的所作所为,以帮助其他人节省这些时间!

请注意,此解决方案适用于MAc OS X 10.8.5。它可能不适合您!

以下是 apache 2.4.7 php 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 instalation。为此,我删除了它们并搜索配置文件,以防万一,使用命令

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

    2.2 - 使用brew医生确认没有配置令设备烦恼。

    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有效。为此,请启动该服务并转到localhost,其中显示“It works”。然后关闭它以继续使用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
    

    ...然后再次执行安装。

    &LT;已安装apache版本&gt;将取决于安装的版本。 在撰写本文时,它是2.4.10

  5. 告诉Apache有关其新朋友的信息。

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

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

    ...然后在LoadModule部分添加php模块(搜索LoadModule)

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

    ...并在mime_module中添加php类型。搜索mime_module,并在该部分中搜索#Filter

    ...添加下一行。

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

    告诉Apache在将文件发送到客户端之前通过它的php处理器运行该文件。

    ...保存并退出。

  6. 可选,如果您要将站点存储在用户文件夹而不是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在Sites文件夹的根目录中创建一个php文件(如果你执行了第6步,在/Users//Sites/test.php中创建它)

    7.3打开它。

    Go to Browser and localhost/test.php
    
  8. 祝你好运。

答案 1 :(得分:0)

我猜您在加载libphp5.so时遇到来自apache2的the zend_parse_paramater错误:

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解析器的bison版本:1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1(找到:无)。

尝试安装野牛:sudo apt-get install bison

然后make distclean然后./configure ...然后make -i install

答案 2 :(得分:0)

本指南很棒,除了步骤4.1,您必须安装php,如下所示:

brew install php55 --homebrew-apxs

这一行会自动将“LoadModule php5_module ...”放在httpd.conf中,所以如果有人在上面做了其他步骤,只需删除php:

brew remove php55

然后使用以下行安装php:

brew install php55 --homebrew-apxs

然后就没有问题了!