mac编译安装php扩展

来源:互联网 发布:星星知我心是什么歌曲 编辑:程序博客网 时间:2024/06/03 16:28

公司的数据库是sql server的,但mac自带的php默认是木有mssql这个扩展的(后来发现还木有mcrypt.so这个扩展).以下的安装均需要安装xCode首先安装libmcrypt.so这个扩展。先到<a target=_blank href="http://sourceforge.net/projects/mcrypt/files/Libmcrypt/">这里</a>去下载libmcrypt的tar.gz包,解压以后进入目录分别执行
./configure --disable-posix-threads --enable-staticmakesudo make install
成功以后,下载php的源码(记得使用php -v查看自己的版本),继续tar -xvf解压。

进入到解压后的文件夹中,再进入到ext文件夹中,php的所有扩展都在这个ext文件夹下啦。


然后进入我们要安装的mcrypt扩展文件夹中执行 phpize命令

然后继续/.configure,make,sudo make install

这样mcrypt扩展就安装成功了,(在make install的时候会自动将文件复制到php的扩展目录下)

最后别忘了到/etc/php.ini里面添加一句话哟


最后的那个20121212不同版本的php可能不一样。


接下来安装mssql

在安装mssql之前要先安装freetds

直接

sudo brew install freetds
安装完以后,到php源码的ext/mssql目录下继续执行

phpize./configure --with-php-config=/usr/bin/php-config --with-mssql=/usr/local/opt/freetdsmake
sudo make install 
,然后在php.ini中添加extension语句,啊哈哈,安装结束。


例外:我在编译另外一台电脑的mssql的扩展的时候,发现了一个问题,它在某一个扩展的文件夹下使用phpize命令的时候,报错如下

使用brew install autoconf安装autoconf后,继续报错,查看原来是usr/下都木有include目录。。。


上网查阅资料,得到解决办法

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
这个办法应该是可行的,但我不知道为什么在我这里就是运行不起来。。

一气之下,ln用不了老衲用cp,把整个

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
下的文件拷贝到/usr/include下,继续

phpizemake sudo make install


ok,编译成功(cp是有缺点的啊,能用软连接就用软连接哟)。


续:

别用cp,别用cp,别用cp,重要的事情说3遍。

在系统升级之后,所有的扩展都要重新编译(编译安装php扩展的人都是折翼的天使)

遇到的问题那肯定就是php扩展和php的版本不匹配啦。

PHP Warning:  PHP Startup: mssql: Unable to initialize moduleModule compiled with module API=20090626, debug=0, thread-safety=0PHP    compiled with module API=20050922, debug=0, thread-safety=0These options need to match
这个时候可能是因为 phpize 版本问题导致的,可以尝试:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
我自己二逼,用cp命令,如果用ln那绝笔还是没问题的。。。。

然后在重新编译两个扩展包的文件之前,先执行

cd php-5.5.14/ext/mcryptphpize –-clean
类似的命令(不同扩展包ext后面的文件夹名不同)

然后重新configure make make install,就ok了





参考:

http://segmentfault.com/a/1190000002395906

http://segmentfault.com/a/1190000002761992,

http://mangguo.org/mac-os-x-yosemite-install-php-mcrypt-extension/

0 0