公司的数据库是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-static
make
sudo 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/freetds
make
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下,继续
phpize
make
sudo make install
ok,编译成功(cp是有缺点的啊,能用软连接就用软连接哟)。
续:
别用cp,别用cp,别用cp,重要的事情说3遍。
在系统升级之后,所有的扩展都要重新编译(编译安装php扩展的人都是折翼的天使)
遇到的问题那肯定就是php扩展和php的版本不匹配啦。
PHP Warning: PHP Startup: mssql: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP compiled with module API=20050922, debug=0, thread-safety=0
These 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/mcrypt
phpize –-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/