Apache 2.4无法加载与Mac OS 10.8的php5.5

我试图在Mac OS 10.8.5的Mini Mac中使用Apache 2.4.7和php5.5

Apache 2.4.7安装在这里的指示

运行apachectl -v,显示

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

在这里安装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 

正如我已经链接的教程中所build议的,我修改了我的bashconfiguration文件

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

我一直在尝试几个小时不同的解决scheme,这是我得到的。

如果有人能给我一些提示,我会很高兴,我很绝望…!

经过数小时和数小时的尝试,并做到这一点,我设法使其工作。

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

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

以下是使用PHP 5.5工作的Apache 2.4.7

  1. 更新和下载你需要的工具。

    1.1 – XCode。 从Apple Store免费获取。

    1.2 – XCode命令行 转到XCode,首选项,下载并获取命令行。

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

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

    查看网站了解更多信息。

  2. 几个检查

    2.1 – 检查是否有当前的apache或php instalation烦人。 为了做到这一点,我删除了他们,并寻找配置文件,以防万一,与命令

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

    2.2 – 使用brew doctor确认没有配置烦人的设置。

     brew doctor 

    2.3 – 通过确认以下命令不起作用 ,检查是否正确

     php -v apachectl -v httpd -v 
  3. 安装apache

    3.1 – 从djl使用自制软件apache2 。

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

    3.2 – 修改你的.bash_profile文件,使/ usr / local / bin成为优先文件夹(这样系统就可以从/ usr / sbin获取apache和php文件夹)

     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使用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 

    …然后在Loadmodulee部分添加php模块(搜索Loadmodulee)

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

    …并在mime_module中添加php类型。 搜索mime_module,并在该部分中搜索#个过滤器

    …在他们下面添加下一行。

     # 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在Site文件夹的根目录下创建一个php文件(如果你做了第6步,在/Users//Sites/test.php中创建)

    7.3打开它。

     Go to Browser and localhost/test.php 

祝你好运。

我猜你正在遇到来自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输出。 如果您收到类似以下内容的消息:

配置:警告:支持重新生成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)。

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

然后使distclean然后./configure …然后使-i安装

这个指南是伟大的,除了步骤4.1,你必须安装这样的PHP:

 brew install php55 --homebrew-apxs 

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

 brew remove php55 

然后用下面的命令安装php:

 brew install php55 --homebrew-apxs 

然后再也没有问题了!