Apache 2.4未在Mac OS 10.8中加载php5.5
我正试图在我的带有MacOS10.8.5的迷你Mac中使用Apache2.4.7和php5.5 按照中的说明安装Apache 2.4.7 运行apachectl-v,显示Apache 2.4未在Mac OS 10.8中加载php5.5,php,macos,apache,Php,Macos,Apache,我正试图在我的带有MacOS10.8.5的迷你Mac中使用Apache2.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 PHP 5.5.8 (cli) (built: Jan 12 2014 18:50:29) Copyright (c) 1997-2013 The PHP Group Zend
Server version: Apache/2.4.7 (Unix)
Server built: Mar 4 2014 19:23:56
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
按照中的说明安装PHP5.5
运行php-v,如下所示
Server version: Apache/2.4.7 (Unix)
Server built: Mar 4 2014 19:23:56
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
我在apachehttp.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
正如我链接的教程中所建议的,我用
export PATH=~/bin:/usr/local/php5/bin:$PATH
export MANPATH=/usr/local/apache/man:$MANPATH
我已经尝试了几个小时不同的解决方案,这就是我所能做到的
如果有人能给我一些提示,我会很高兴,我很绝望 我猜您在加载libphp5时遇到了apache2的zend_parse_参数错误。因此:
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解析器再生支持的bison版本:1.28 1.35 1.75 1.875 2.0 2.1 2.2.3 2.4 2.4.1(发现:无)
尝试安装bison:sudo-apt-get-install-bison
然后进行清理。/configure。。。然后make-i安装经过数小时的尝试,我成功地让它工作了 我将描述我所做的一切,以帮助其他人节省这些时间 请注意,此解决方案适用于MAc OS X 10.8.5。它可能不适用于您 下面是让Apache2.4.7与PHP5.5一起工作的
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
更多信息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
sudo apachectl start
(Go to browser and open localhost)
sudo apachectl stop
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
。。。然后在LoadModule部分添加php模块(搜索LoadModule)
。。。并在mime_模块中添加php类型。搜索mime#模块,并在该部分中搜索#过滤器
。。。在它们下面添加下一行
# process php type files using apache php module
AddType application/x-httpd-php .php
这告诉Apache在将文件发送到客户端之前,先通过其php处理器运行该文件
。。。保存并退出cd /usr/local/etc/apache2/
sudo nano 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.2在Sites文件夹的根目录中创建一个php文件(如果执行了步骤6,请在/Users//Sites/test.php中创建)
7.3打开它
Go to Browser and localhost/test.php
祝你好运。除了步骤4.1之外,本指南非常棒,在该步骤中,您必须像下面这样安装php:
brew install php55 --homebrew-apxs
这一行将自动将“LoadModule php5_module…”放在httpd.conf中,因此如果有人执行了上述其他步骤,只需使用以下命令删除php:
brew remove php55
然后使用以下行安装php:
brew install php55 --homebrew-apxs
然后就没有问题了 感谢您的帮助,遗憾的是,它没有解决问题。我很遗憾地听到:(我们感受到了您同样的挫折。我们尝试了与您相同的事情,但失败了,决定尝试Brew。Brew抱怨MacPorts仍然安装,“哪个端口”in t向我们展示了垃圾文件的位置。ready to brew…下一个错误:compile失败。我们需要将apsx从/usr/local/apache/bin复制到/usr/sbin,然后brew完成了安装和制作。但没有php解析。起初MIME没有意义,因为我们认为它与发送到浏览器的文件有关(即发送mp3打开电脑上的mp3播放器),但在遵循您的说明之后,php被解析了。我们编辑了该部分也是为了帮助您!tuI很高兴它帮助了您!当然欢迎您的贡献。希望它也能帮助其他人。我并不真正理解第4.2步,我应该从包含
config_vars.mk
的文件夹中添加一个simlink到httpd的文件夹二进制文件或apxs one的文件夹中apache的文件夹。这将使第5步变得不必要。对答案的贡献很好-虽然不是答案本身
brew install php55 --homebrew-apxs
brew remove php55
brew install php55 --homebrew-apxs