Heim >php教程 >php手册 >PHP中PDO_MYSQL扩展安装的2种方法

PHP中PDO_MYSQL扩展安装的2种方法

WBOY
WBOYOriginal
2016-06-13 09:19:03812Durchsuche

PHP中PDO_MYSQL扩展安装的2种方法

   方法一

  看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下。

  这里我的系统是CentOS 6.0。如果你的系统是其他版本的Linux/Unix,可以参考。如果你的系统是Windows的,抱歉,以下内容不适合你,请移步。

  首先是下载pdo_mysql扩展的源码包。下载页面在这里:http://pecl.php.net/package/PDO_MYSQL。可以先下载了然后用FTP传到服务器。

  我是在复制了下载地址以后使用wget直接下载到服务器端的。

  # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

  然后是解压缩。

  # tar -zxvf PDO_MYSQL-1.0.2.tgz

  进入解压后的目录,然后执行phpize。

  # /usr/local/php/bin/phpize

  Configuring for:

  PHP Api Version: 20100412

  Zend Module Api No: 20100525

  Zend Extension Api No: 220100525

  下面生成makefile。后面的两个参数必须要添加,一开始我没有添加,结果分别都提示找不到php-config和mysql的header文件。

  # ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

  在make之前还要做一个mysql的header文件的软连接。因为mysql安装的时候指定了目录,不做软连接的话,还是找不到header文件。

  # ln -s /usr/local/mysql/include/* /usr/local/include/

  然后make和make install。

  # make

  # make install

  之后会提示如下,意思是扩展被安装到了如下目录里。

  Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

  为了方便,我把pdo_mysql.so文件移动到extensions目录下。

  # mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so /usr/local/php/lib/php/extensions/

  随后就可以修改php.ini文件了。

  找到; extension_dir = “./”这一行,去掉注释,并修改路径。

  extension_dir = “/usr/local/php/lib/php/extensions/”

  这里经过我测试,发现php只会从该目录寻找扩展so,而并不寻找该目录下的子目录。所以之前我为了统一管理,把so文件都移动到该目录下。

  找到; extension=php_pdo_mysql.dll这一行,去掉注释,并修改后面的文件名。

  extension=pdo_mysql.so

  文件名不太一样,这里要把php_前缀去掉,否则找不到文件。后面的dll是windows下的文件名,我们改成so。

  最后重启apache就可以了。用phpinfo()查看发现已经生效了。

  方法二

  PDO_MYSQL以下操作都在Linux 系统下操作

  1、下载 文件 或者 进入 在PHP源码包中进入ext/pdo_mysql

  http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

  2、解压文件

  tar zxvf PDO_MYSQL-1.0.2.tgz

  3、配置和编译文件

  cd PDO_MYSQL-1.0.2

  /usr/local/php/bin/phpize

  ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

  make

  make install

  注: 我的PHP安装在 : /usr/local/php/ mysql 安装在 : /usr/local/mysql 编译的时候注意你自己的安装目录在哪里

  3、安装到PHP配置下

  把这个记住,然后打开 php.ini文件,

  并添加一行

  extension=pdo_mysql.so

  windows PDO MYSQL扩展安装

  php.ini中没有开启pdo,故修改php.ini,将形如下面的代码前面去掉分号,修改后如下:

  extension_dir="E:/amp/php/ext" //这里配置为你自己的ext目录路径

  ......

  extension=php_mysql.dll

  ......

  extension=php_pdo.dll

  ......

  extension=php_pdo_mysql.dll

  重启apache后访问又继续报以下错误:

  CDbConnection 无法开启数据库连线: could not find driver

  意思是无法找到数据库驱动,我又用phpinfo看了一下,PDO确实是开启了,但是PDO那一项中支持的数据库显示no value,说明无法加载php_pdo_mysql.dll这个扩展。经过多次尝试,包括更换php的版本,更换mysql的版本。但是均不奏效。难道真的无法开启php的mysql pdo扩展了吗?

  在网上查了又查,终于找到解决方案

  方法一:需要把php安装目录的路径加入到系统环境变量PATH中,这样就可以解决问题。

  方法二:因为我是在服务器上部署的,正在运行着的服务器,所以无法重启,故也可将php安装目录下的libmysql.dll复制到windows目录下

  重启apache

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn