php - Apache 2.4 不加载 php5.5 与 Mac OS 10.8

标签 php macos apache

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

Apache 2.4.7 按照 here 中的说明安装

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

我已经尝试了几个小时不同的解决方案,这是我所能得到的。

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

最佳答案

经过几个小时的尝试,我终于成功了。

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

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

以下是让 apache 2.4.7php 5.5 一起工作

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

    1.1 - X代码。从 Apple Store 免费获取。

    1.2 - XCode 命令行。转到 XCode、Preferences、Downloads,然后获取命令行。

    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 doctor 确认没有配置干扰设置。

    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”的本地主机。然后关闭它以继续使用 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.
    

    ...以这种方式创建符号链接(symbolic link):

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

    ...并再次执行安装。

    将取决于安装的版本。 写这篇文章的时候是2.4.10

  5. 告诉 Apache 它的新 friend 。

    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 并在该部分中搜索 # Filters

    ... 在它们下面添加下一行。

    # 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 在站点文件夹的根目录中创建一个 php 文件(如果您执行了第 6 步,请在/Users//Sites/test.php 中创建它)

    7.3 打开它。

    Go to Browser and localhost/test.php
    

祝你好运。

关于php - Apache 2.4 不加载 php5.5 与 Mac OS 10.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181045/

相关文章:

javascript - 如何使用 JSON 多维数组进行编码

如果信息太多,php 脚本不返回任何内容

php - GoDaddy 上的 CKEditor 和 KCfinder 图像预览

php - $ img属性样式问题

macos - 如何构建苹果的开源libc?

macos - 如何从 mac 上的 node.js 脚本启动 Electron 应用程序?

git - curl : (35) Server aborted the SSL handshake in Mac OS X El Capitan (10. 11.4)

apache - WWW 到 NON WWW Urls(删除 WWW)使用 Apache (.htaccess)

java - Tomcat 向后兼容吗?

PHP 加载 MySQL 时出错