我正在尝试在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
我一直在尝试几个小时不同的解决方案,这就是我所拥有的。
如果有人可以给我一些提示,我会非常高兴,我非常绝望......!
答案 0 :(得分:7)
经过几个小时的尝试并做到这一点,我设法让它发挥作用。
我将描述我的所作所为,以帮助其他人节省这些时间!
请注意,此解决方案适用于MAc OS X 10.8.5。它可能不适合您!
以下是 apache 2.4.7 , php 5.5 正常工作
更新和下载所需的工具。
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.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
安装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
安装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
告诉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处理器运行该文件。
...保存并退出。
可选,如果您要将站点存储在用户文件夹而不是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.1启动apache服务
sudo apachectl start
7.2在Sites文件夹的根目录中创建一个php文件(如果你执行了第6步,在/Users//Sites/test.php中创建它)
7.3打开它。
Go to Browser and localhost/test.php
答案 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
然后就没有问题了!