一、下载PHP和Apache
1. Sudo yum install httpd -y 安装 Apache
2. 安装PHP(我安装的是5.6版本),可以直接yum安装,但是后面要编译很多额外的库,还是需要安装包编译更方便点
1) # wget -O php5.tar.gz http://cn2.php.net/get/php-5.6.34.tar.gz/from/this/mirror
2)# tar zxvf php-5.6.34.tar.gz
3) # cd php-5.6.34 进行编译,在此之前需要先安装几个模块
31)# yum install httpd-devel.x86_64 (对应你电脑的位数) :添加apache的apxs模块,然后在apache的配置文件 httpd.conf文件里面找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
32)安装libiconv模块:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
# cd libiconv-1.13.1
# ./configure --prefix=/usr/local/libiconv (指定路径)
# make && make install
33)如果需要高版本的gcc,可以参考这里进行安装
4)编译:php-5.6.34路径下
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/sbin/apxs \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-mcrypt \
--with-mhash \
--with-openssl \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mysqli=shared,mysqlnd \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--with-iconv-dir=/usr/local/libiconv \
--with-config-file-path=/etc
注意: libiconv的编译参数是--with-iconv-dir而不是--with-iconv,--with-config-file-path对应的是你生成php.ini的路径,也可以编译完后手动复制:php-5.6.34路径#cp php.ini-production /etc/php.ini
5)编译生成Makefile文件,在其中找到 EXTRA_LIBS = -lcrypt -lz -lcrypt ..... -lm -lcrypt 在后面加上-liconv 就可以编译libconv库了
6)#make && make install
7) 正常都可以安装成功,我装了几次都可以。
3. 上面扩展的时候也可以加上GD库,才可以让你的应用可以读取到验证码图片和表格之类,我一般是手动加上:
# yum --enablerepo=remi-php56 install php-gd php-mysql php-mbstring php-xml php-mcrypt
4. 安装Freetds,低版本的php要访问SQL server,这是比较快捷的方法,PPH7以上好像直接可以用mssql.
# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
# tar -zxvf freetds-patched.tar.gz
# cd freetds-0.95
#./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
# make && make install
--with-tdsver参数对应不同sql server的版本,我的是2012,对应7.4
这一步可以参考:这里
5. 安装完freetds,就可以回过头来继续安装PHP扩展mssql:
# cd php-5.6.34/ext/mssql/
# /usr/local/php/bin/phpize (/usr/local对应你安装php的路径)
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
# make && make install
安装完会生成mssql.so, 我的在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so下面
把so文件复制到php的扩展文件夹下,我的在/usr/lib64/php/modules/,然后再php.ini中加上extension = "mssql.so"
就可以引用mssql了。
6. FreeTds记得进行配置:/usr/local/freetds/etc/freetds.conf 下新增实例:
[sql2012]
host = 11.22.122.212 #你访问的sql server服务器ip
port = 8720 #端口,默认1433
tds version = 7.4 #对应freetds版本,我试过可以向下兼容
7. 配置完成在你的php代码中进行类似以下调用:
$db=mssql_connect("sql2012","db_user","db_password");
if (!$db) {
echo "connect sqlserver error";
exit;
}
mssql_select_db("db_name",$db);
$result = mssql_query("SELECT top 5 * FROM tablename", $db);
while($row = mssql_fetch_array($result)) {
print_r($row);
}
mssql_free_result($result);
即可获取数据库内容。