环境:
php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3
问题:如下
操作系统…………………………………………………Linux
PHP 版本…………………………………………………5.4.45
是否支持MySQL…………………………………………………不支持
GD 版本…………………………………………………2
是否支持 JPEG…………………………………………………不支持
是否支持 GIF…………………………………………………支持
是否支持 PNG…………………………………………………支持
重要文件是否完整…………………………………………………完整
服务器是否开启安全模式…………………………………………………关闭
解决方式:
1、php版本不能太高,用php5.7的会出现不支持问题;本次使用的php版本为php5.4.45。
2、编译方式之前的出现了一些问题,我这儿重新编译了一下,发现有四个地方是一定要有的,否则会出错,我的编译代码如下:
./configure --prefix=/usr/local/php-fpm \
--with-config-file-path=/usr/local/php-fpm/etc \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--enable-mysqlnd \ ##一定要有
--with-mysql=/usr/local/mysql/ \ ##一定要有
--with-mysql-sock=/usr/local/mysql/mysql.sock \ ##一定要有
--with-mysqli=/usr/local/mysql/bin/mysql_config \ ##一定要有
--with-mysqli=shared,mysqlnd \ ##一定要有
--with-pdo-mysql=shared,mysqlnd \ ##一定要有
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-libxml-dir \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-mcrypt \
--enable-soap \
--enable-ftp \
--enable-exif \
--disable-ipv6 \
--with-curl \
--enable-mbstring \
--with-pear \
--with-openssl
分析原因:
php检测不到mysql,或者是php所检测到的mysql是新的驱动方式,而ecshop由于代码比较老,不支持。
传统的安装php的方式中,我们在编译PHP时,一般需要指定以下几项:
–with-mysql=/usr/local/mysql
–with-pdo-mysql=/usr/local/mysql
这实际上就是使用了mysql官方自带的libmysql驱动, 这是比较老的驱动, PHP 5.3开始已经不建议使用它了, 而建议使用mysqlnd.