環境:
php5.4.45+nginx1.13.6+mysql5.7.20+ecshopV2.7.3php
問題:以下
操做系統.........................................................Linux
PHP 版本.........................................................5.4.45
是否支持MySQL.........................................................不支持
GD 版本.........................................................2
是否支持 JPEG.........................................................不支持
是否支持 GIF.........................................................支持
是否支持 PNG.........................................................支持
重要文件是否完整.........................................................完整
服務器是否開啓安全模式.........................................................關閉mysql
解決方式:
一、php版本不能過高,用php5.7的會出現不支持問題;本次使用的php版本爲php5.4.45。
二、編譯方式以前的出現了一些問題,我這兒從新編譯了一下,發現有四個地方是必定要有的,不然會出錯,個人編譯代碼以下:nginx
./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.sql