Apache 2.2.27和PHP 5.5.12在Mac OS X 10.8.5编译安装过程: 在开始之前首先升级Xcode的组件: preferences => Downloads => 下载Command Line Tools包
然后进入Apache的源码包,对于大部分的源码包都可以使用下面这个指令来查看编译选项:
rush:bash;">
./configure --help
配置编译选项:
rush:bash;">
./configure --prefix=/Users/levin/dev/apache2.2.27 --enable-modules=most --enable-mods-shared=all
报错:
rush:plain;">
checking for APR-util... yes
checking for gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc
checking whether the C compiler works... no
configure: error: in `/Users/levin/Downloads/httpd-2.2.27':
configure: error: C compiler cannot create executables
See `config.log' for more details
上面的报错是指路径:
rush:plain;">
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc
不存在
解决方法:
rush:bash;">
cd /Applications/Xcode.app/Contents/Developer/Toolchains
sudo ln -s XcodeDefault.xctoolchain OSX10.8.xctoolchain
接着编译并安装:
rush:bash;">
make
make install
编辑配置文件httpd.conf,一般修改监听端口、运行Apache的用户和组、服务器名称、开启gzip等配置。
进入安装好的目录启动Apache:
rush:bash;">
./bin/apachectl start
安装PHP
关于PHP编译选项可以参考: PHP.net/manual/en/configure.about.PHP">PHP: List of core configure options - Manual
rush:bash;">
./configure --prefix=/Users/levin/dev/PHP5.5.12 --with-apxs2=/Users/levin/dev/apache2.2.27/bin/apxs --with-config-file-path=/Users/levin/dev/PHP5.5.12/etc --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --enable-gd-native-ttf --with-mhash --enable-mbstring --enable-soap --enable-zip --enable-sockets --with-MysqL=/usr/local/mysql-5.6.12-osx10.7-x86_64 --with-MysqLi=/usr/local/mysql-5.6.12-osx10.7-x86_64/bin/MysqL_config --with-iconv --with-pear --enable-opcache
make
整个编译过程需要5-10分钟,视硬件配置而定,可以先去弄杯牛奶喝
发生错误:
rush:plain;">
Undefined symbols for architecture x86_64:
"_res_9_init",referenced from:
_zif_dns_get_mx in dns.o
_zif_dns_get_record in dns.o
_zif_dns_check_record in dns.o
"_res_9_search",referenced from:
_zif_dns_get_mx in dns.o
_zif_dns_get_record in dns.o
_zif_dns_check_record in dns.o
"_res_9_dn_skipname",referenced from:
_zif_dns_get_mx in dns.o
_zif_dns_get_record in dns.o
"_res_9_dn_expand",referenced from:
_zif_dns_get_mx in dns.o
_PHP_parserr in dns.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [libs/libPHP5.bundle] Error 1
解决:
rush:bash;">
export LDFLAGS=-lresolv
错误:
rush:plain;">
dyld: Library not loaded: libMysqLclient.18.dylib
Referenced from: /Users/levin/Downloads/PHP-5.5.12/sapi/cli/PHP
Reason: image not found
...
make: *** [ext/phar/phar.PHP] Error 133
解决:
rush:bash;">
cd /usr/lib
ln -s /usr/local/mysql-5.6.12-osx10.7-x86_64/lib/libMysqLclient.18.dylib libMysqLclient.18.dylib
重新编译并安装:
rush:bash;">
make clean && make
make install
安装完成,此时需要从PHP的源码目录copy一份配置文件到安装目录的etc文件夹下面并改名为PHP.ini,需要更改PHP的配置时就使用该文件即可。
原文地址:https://www.jb51.cc/php/20689.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。