VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • 在Mac OS上自行编译安装Apache服务器和PHP解释器

这篇文章主要介绍了在Mac OS上编译安装Apache服务器和PHP解释器的教程,尽管Mac上自带Apache和PHP,但由于版本或者其他原因很多情况下还是自己配置更为舒心,需要的朋友可以参考下。

Apache 2.2.27和PHP 5.5.12在Mac OS X 10.8.5编译安装过程:

在开始之前首先升级Xcode的组件: preferences => Downloads => 下载Command Line Tools包

然后进入Apache的源码包,对于大部分的源码包都可以使用下面这个指令来查看编译选项:

./configure --help

配置编译选项:

./configure --prefix=/Users/levin/dev/apache2.2.27 --enable-modules=most --enable-mods-shared=all

报错:

  1. checking for APR-util... yes 
  2. checking for gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc 
  3. checking whether the C compiler works... no 
  4. configure: error: in `/Users/levin/Downloads/httpd-2.2.27': 
  5. configure: error: C compiler cannot create executables 
  6. See `config.log' for more details 

上面的报错是指路径:

/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc

不存在

解决方法:

cd /Applications/Xcode.app/Contents/Developer/Toolchains

sudo ln -s XcodeDefault.xctoolchain OSX10.8.xctoolchain

接着编译并安装:

make

make install

编辑配置文件httpd.conf,一般修改监听端口、运行Apache的用户和组、服务器名称、开启gzip等配置。

进入安装好的目录启动Apache:

./bin/apachectl start

安装PHP

关于PHP编译选项可以参考: PHP: List of core configure options - Manual

  1. ./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 
  2. make 

整个编译过程需要5-10分钟,视硬件配置而定,可以先去弄杯牛奶喝

发生错误:

  1. Undefined symbols for architecture x86_64: 
  2.  "_res_9_init", referenced from: 
  3.    _zif_dns_get_mx in dns.o 
  4.    _zif_dns_get_record in dns.o 
  5.    _zif_dns_check_record in dns.o 
  6.  "_res_9_search", referenced from: 
  7.    _zif_dns_get_mx in dns.o 
  8.    _zif_dns_get_record in dns.o 
  9.    _zif_dns_check_record in dns.o 
  10.  "_res_9_dn_skipname", referenced from: 
  11.    _zif_dns_get_mx in dns.o 
  12.    _zif_dns_get_record in dns.o 
  13.  "_res_9_dn_expand", referenced from: 
  14.    _zif_dns_get_mx in dns.o 
  15.    _php_parserr in dns.o 
  16. ld: symbol(s) not found for architecture x86_64 
  17. collect2: ld returned 1 exit status 
  18. make: *** [libs/libphp5.bundle] Error 1 

解决:

export LDFLAGS=-lresolv

错误:

  1. dyld: Library not loaded: libmysqlclient.18.dylib 
  2.  Referenced from: /Users/levin/Downloads/php-5.5.12/sapi/cli/php 
  3.  Reason: image not found 
  4. ... 
  5. make: *** [ext/phar/phar.php] Error 133 

解决:

cd /usr/lib

ln -s /usr/local/mysql-5.6.12-osx10.7-x86_64/lib/libmysqlclient.18.dylib libmysqlclient.18.dylib

重新编译并安装:

make clean && make

make install

安装完成,此时需要从PHP的源码目录copy一份配置文件到安装目录的etc文件夹下面并改名为php.ini,需要更改PHP的配置时就使用该文件即可。

 



出处:http://www.phpfensi.com/php/20210701/16885.html


相关教程