laravel mysql pdo_centos添加pdo扩展时的一些列问题解决 for laravel 5

centos中安装pdo扩展参考

过程中出现了很多问题:

1,查找本机php安装位置whereis php

正在运行的phpwhich php

我的位置是:/usr/bin/php

2,执行/usr/bin/phpize的时候出现如下错误:Can't find PHP headers in /usr/include/php

The php-devel package is required for use of this command.

解决办法:yum install php-devel

3,之后又出现Error: php54w-common conflicts with php-common-5.3.3-46.el6_6.x86_64

两个包冲突,解决办法,卸载php54w-commonsudo yum remove php-common

4,继续到php的安装包的pdo_mysql目录下运行/usr/bin/phpize

编译通过,没有报错

5,继续./configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr/bin/mysql/

报错:configure: error: no acceptable C compiler found in $PATH

解决:sudo yum install gcc

6,然后继续./configure./configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr/bin/mysql_config

其中查找phpconfig和mysql_config可用:whereis php-config

whereis mysql_config

7,编译后make && make install

8,继续报错:[error: ‘PHP_FE_END’ undeclared here (not in a function)]

解决办法:sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c

sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c

我是在mysql_pdo包目录下 所以后面直接*.c,于是:sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' *.c

sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' *.c

9,继续make && make install,(root用户运行)

10,无报错,进入:[root@localhost pdo_mysql]# cd /usr/lib64/php/modules/

[root@localhost modules]# ls -l

total 2428

-rwxr-xr-x. 1 root root   66096 Jul 10 01:43 curl.so

-rwxr-xr-x. 1 root root 1843120 Jul 10 01:43 fileinfo.so

-rwxr-xr-x. 1 root root   36200 Jul 10 01:43 json.so

-rwxr-xr-x. 1 root root  184357 Oct 31 12:32 pdo_mysql.so

-rwxr-xr-x. 1 root root  261392 Jul 10 01:43 phar.so

-rwxr-xr-x. 1 root root   83088 Jul 10 01:43 zip.so

11,php -i | grep 之后继续报错。。。(抓狂ing)PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/pdo_mysql.so’ – /usr/lib64/php/modules/pdo_mysql.so: undefined symbol: php_pdo_int64_to_str in Unknown on line 0

查到从:

得知:之前的配置人员安装了php的pdo_mysql模块,在/etc/php.ini中配置加载参数(常规思路都是需要手动配置加载的):

[pdo_mysql]

extension=/usr/lib64/php/modules/pdo_mysql.so

其实在php安装模块的时候会自动将配置文件写入到 /etc/php.d/ 下。

所以不需要配置加载,并且php加载模块好像有顺序,所以屏蔽 /etc/php.ini 中加载的 pdo_mysql 配置参数即可。

于是“;”掉extension=/xxxxxx/xxxxx

于是上面的错误消失,可是还是不出现laravel5页面,继续。

12,运行php artisan env

报错:PHP Parse error:  syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE or '$' in /var/www/html/laravel-master/artisan on line 31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值