7,943   Laravel Linux MySQL PHP

将laravel项目部署到redhat服务器上时报错

PDOException in Connector.php line 55:
could not find driver

之前redhat上已经部署了其他项目,可以正常访问mysql数据库,为啥laravel就特别了?
上laravel官网一查,该项目需要支持PDO PHP Extension,好吧,需要检查下服务器环境了

[weblogic@v0A-123-177-206 laravel]$ php -m
[PHP Modules]
Core
ctype
curl
date
dom
ereg
fileinfo
filter
hash
iconv
json
libxml
mbstring
mysql
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]

[weblogic@v0A-123-177-206 laravel]$ 

有安装PDO啊,难道还少了什么吗?继续google
原来还少了一个pdo_mysql的扩展,详情介绍:http://stackoverflow.com/questions/2852748/pdoexception-could-not-find-driver
那就乖乖安装pdo_mysql。

之前有介绍过phpsize的方法追加安装扩展,无需重新编译整个PHP,请查看之前的文章:http://www.luckybird.me/php-install-curl.html

1,进入PHP源码的扩展目录,找到扩展pdo_mysql

[weblogic@v0A-123-177-206 pdo_mysql]$ pwd
/home/weblogic/php-5.6.8/ext/pdo_mysql

2,执行phpsize,根据自己phpsize目录来执行

# /usr/local/php/bin/phpize

3,然后config,mysql_config的目录可以通过wheresi mysql_config 来找到

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

4,编译扩展

# make 
# make install

5,编译完后会提示生产扩展pdo_mysql.so,把它复制到php的扩展引入的目录中,目录可以在phpinfo()页面找到

cp modules/pdo_mysql.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226

6,编辑php.ini,添加扩展

extension=pdo_mysql.so

7,重启服务,包括php-fpm和nginx

[root@v0A-123-177-206 PDO_MYSQL-1.0.2]# service php-fpm restart
Restarting php-fpm daemon: php-fpm.
[root@v0A-123-177-206 PDO_MYSQL-1.0.2]# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[root@v0A-123-177-206 PDO_MYSQL-1.0.2]# php -m

8,打开phpinfo()

QQ图片20151122172525

安装成功,laravel部署的问题也解决了。

遇到错误:
1,

configure: error: PDO_MYSQL configure failed, MySQL 4.1 needed

解决方法:

export LDFLAGS=-L/usr/lib64/mysql 

2,

no mysql_config

解决方法:

yum install mysql-devel

3,

Cannot find autoconf. 

解决方法

yum install autoconf
yum install m4



Trackbacks/Pingbacks

  1.  CodeIgniter通过phpredis使用Redis | LuckyBird

Leave a Reply

Your email address will not be published. Required fields are marked *