一、php mongo模块的编译
先从 http://pecl.php.net/package/mongo 下载目前的stable稳定版 ,目前的最新稳定版本是1.5.2 , 安装步骤如下:
代码如下 | 复制代码 |
# wget http://pecl.php.net/get/mongo-1.5.2.tgz # tar zxvf mongo-1.5.2.tgz # cd mongo-1.5.2 # /usr/bin/phpize # ./configure –with-php-config=/usr/bin/php-config # make && make install |
注:没有 phpize 工具时 ,可以通过yum -y install php-devel 安装后就会有该工具 。
二、php的扩展配置
完成后在/etc/php.ini中添加如下内容:
代码如下 | 复制代码 |
extension=mongo.so |
完成后,再使用php -m查看,发现报错:
代码如下 | 复制代码 |
# php -m|grep mongo /usr/lib64/php/modules/mongo.so: undefined symbol: php_json_encode in Unknown on line 1 |
经网上查询发现是需要对 json.so 模块依赖,经查看/usr/lib64/php/modules/目录下已经存在json.so模块 。即然存在报错的原因是因为json.so在mongo.so之后才加载的 。在/etc/php.ini中查找了下json的配置,发现不存在。在/etc/php.d目录找到了json.ini文件 。
代码如下 | 复制代码 |
# cat /etc/php.d/json.ini ; Enable json extension module extension=json.so |
知道了原因 ,也依葫芦画瓢 ,将刚刚在/etc/php.ini中的mongo配置删除 ,在/etc/php.d/目录下新增mongo.ini ,内容为extension=mongo.so ,配置完成后再使用php -m|grep mongo检测发现正常 。
注:这里网上也有一些方法是通过将/etc/php.d/json.ini文件删除,在/etc/php.ini文件中将json模块的配置加到mongo模块配置之前 。该方法虽然也可以,不过不推荐,因为我上面的方法自动会查看各模块之间的依赖关系 ,再决定加载的先后顺序 。如果遇到其他模块存在该情况时,同样可以自动解决掉。
PDO MySQL模块在安装php环境时默认是没有安装了,如果我们要使用PDO MySQL需要在php.ini配置文件中开启PDO MySQL模块功能即可,具体我来给大家介绍一下配置方法。在windows服务器中
找到php安装目录的php.ini文件然后我们搜索到
;extension=php_pdo.dll 这一行,看这行前面是否有分号,如果有的话,把它去掉。然后找找有没有 extension=php_pdo_mysql.dll 如果有,同样去掉前面的分号。如果没有,则手动添加上
最终这两行配置内容如下
extension=php_pdo.dll
extension=php_pdo_mysql.dll
最后重启apahce/iis就可以了
在centos服务器
先到http://pecl.php.net/找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的版本。
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar xzvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
./configure --with-php-config=/usr/local/php/bin/php-config经过configure就可以make了
make
make install注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so
然后在/usr/local/lib/php.ini
加上一句:
extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so重新启动apache即可看到已经加载pdo_mysql成功。 (试验成功)
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。PEAR库更新很快,它是一个强大的代码仓库,每个PHP程序员都应该掌握的工具。Windows下PHP PEAR安装:
(1)下载go-pear.phpar到PHP安装目录
官方下载:http://pear.php.net/go-pear.phar
(2)PEAR安装流程
①执行php go-pear.phar
请选择local,因为system可能没有写入权限,然后选择yes
②选择同意修改php.ini
③安装php扩展
④进入下载目录,引入php扩展即可使用。
Linux下安装PEAR
②.执行:php go-pear.phar
例子
(1).重新编译一遍PHP(这种方法要编译的东西比较多,因此比较费时),
(2).单独编译FTP扩展然后配置php支持该扩展(这种方式比较省时,因此选用这种方式进行)
(1).解压PHP源码
tar xvf php-5.3.5.tar.bz2
cd php-5.3.5
(2).进入ftp扩展目录编译
cd ext/ftp
(3).运行phpize,为PHP扩展编译做准备
$PREFIX/php/bin/phpize
(4).配置ftp扩展(php-config是获取PHP环境的命令)
./configure --with-php-config=$PREFIX=/php/bin/php-config
(5).编译和安装
make && make install
说明:安装好后会显示扩展安装到的目录,如
$PREFIX/php/lib/php/extensions/no-debug-zts-20090626/
(6).配置php.ini加入:
extension_dir=$PREFIX/lib/php/extensions/no-debug-zts-20090626
extension=ftp.so
(7).重启Apache服务器即可生效
service httpd restart
例子 hpize 命令是用来准备 PHP 外挂模块的编译环境的。下面例子中,外挂模块的源程序位于 extname 目录中:
$ cd extname
$ phpize
$ ./configure (注一)
$ make
$ make install
成功的安装将建立 extname.so 并放置于 PHP 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ 内) 。
需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。
编译添加扩展
编译PHP所需要的支持
yum install gcc
yum install libxml2-devel curl-devel libjpeg libjpeg-devel libpng-devel freetype-devel.x86_64 mysql-devel
yum install freetype-devel.x86_64 freetype.x86_64
yum install libjpeg libjpeg-devel
下载PHP:wget http://us1.php.net/distributions/php-5.3.28.tar.bz2
tar -jxf php-5.3.28.tar.bz2
cd php-5.3.28
./configure –prefix=/usr/local/php-5.3.28 –enable-fpm –with-mysql –with-zlib –with-config-file-path=/usr/local/php5.3.28/etc –with-pdo-mysql –with-libdir=lib64 –with-gd –with-jpeg-dir=/usr/lib –with-png-dir=/usr/lib –enable-mbstring –enable-gd-native-ttf –enable-xml –with-freetype-dir –with-curl –enable-ftp –enable-zip –with-mcrypt –enable-mbstring –enable-json
出现失败
checking for alloca… (cached) yes
checking for 8-bit clean memcmp… yes
checking for stdarg.h… (cached) yes
checking for mcrypt support… yes
configure: error: mcrypt.h not found. Please reinstall libmcrypt
rpm -qa | grep libmcrypt
libmcrypt-2.5.7-5.el5
libmcrypt-2.5.8-4.el5.centos
有但是失败,上面的是用yum安装,不对,难道需要去下载包编译??试试呗:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz 安装:
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
下午在安装 Laravel 框架过程中,遇到了不少问题,因为 Laravel 的安装依赖于 composer,这里就先介绍一下 composer 的安装方法:
安装方法:
代码如下 | 复制代码 |
#下载 #更改文件权限 #移动文件 #更新 ______ Usage: Options: |