Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27712
  • 博文数量: 9
  • 博客积分: 47
  • 博客等级: 民兵
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-03 21:29
文章分类

全部博文(9)

文章存档

2014年(4)

2012年(3)

2011年(2)

我的朋友

分类: PHP

2014-04-27 01:31:36

php在初始安装的时候,没有添加mysql 和pdo-mysql
尝试cakephp,把数据库从postgresql换成mysql
发现cakephp连接不上mysql

ok开始解决问题
环境是linux 

添加mysql扩展的基本步骤:
1、进入php源代码目录:# cd //home/h-wang/rpm/php-5.3.6/l
2、再进入要添加的mysql扩展源码目录:# cd ext/mysql/
2、调用已经编译好的php里面的phpize:# /usr/local/php/bin/phpize
3、然后configure:# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mysql=/usr/local/mysql
    (/usr/local/mysql 为mysql的安装目录)
4、make && make install
5、编译之后,自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php5/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=mysql.so前面的分号。
6、重启apache:# service httpd restart

但是cakephp还是连接不上。
直接写一个脚本测试
try{
$conn = @mysql_connect("localhost", "hwang", "hhahhha") or die("connection failed");;
mysql_select_db("cake", $conn);//data为数据库名称
$SQL="SELECT * FROM `posts`";
$query=mysql_query($SQL);
while($row=mysql_fetch_array($query)){
var_dump($row);
}
}catch (Exception $e) {   
print $e->getMessage();   
exit();
}

以上脚本执行没有问题,原来cakephp用pdo,所以下面代码不能成功连接,再添加pdo mysql
try {
  $db = new PDO("mysql:host=$hostname;dbname=db_world", $username, $password);
  echo "Connected to database";
}
catch(PDOException $e) {
  echo $e->getMessage();
}


1、进入php源代码目录:# cd //home/h-wang/rpm/php-5.3.6/l
2、再进入要添加的mysql扩展源码目录:# cd ext/pdo_mysql/
2、调用已经编译好的php里面的phpize:# /usr/local/php/bin/phpize
3、然后configure:# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-pdo_mysql=/usr/local/mysql
    (/usr/local/mysql 为mysql的安装目录)
4、make && make install
5、编译之后,自动把pdo_mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php5/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=pdo_mysql.so前面的分号。
6、重启apache:# service httpd restart
然后再到cakephp里面测试,ok过了。
如果mysql.so pdo_mysql.so没有在指定位置或者编译不正确,
或者只是在配置文件打开了mysql.so pdo_mysql.so 会发现apache启动失败。

阅读(1161) | 评论(0) | 转发(0) |
0

上一篇:关于javascript与 或 条件

下一篇:没有了

给主人留下些什么吧!~~