ThinkPhp5.1,第三方类出现语法错误。
查看第三方类的说明文档。——要求php版本>=7.0(我的版本是5.6.25)
切换php版本后,提示错误 con't found driver pdo异常。经过百度,发现apache下的php.ini文件还是5.6版本的(标识:extension_dir="*****5.6");
经过测试,发现我安装的wamp在php版本切换时并不能重载配置(目前只发现php.ini文件),查找同类情况:
(详情见 apache 配置多个版本的 php 或 在 WampServer 上手工安装 PHP 的多个版本 或 PHP版本切换)
1,手动修改方式():修改Apache的配置文件httpd.conf, 找到 loadModule php7_module 的位置加上
AddType application/x-httpd-php .php .html .htm(这句可要可不要)
PHPIniDir "${INSTALL_DIR}/bin/php/php7.0.10/php.ini"(选择需要的版本文件)
2,注册多个Apache服务。在注册apache服务的时候执行 httpd.exe -k install 命令, 如果是apache2.4的版本,默认注册的服务名就是Apache2.4,其实这里可以注册多个不同名字的服务。
下面我们注册多个apache服务,分别对应不同php的版本.执行命令:
httpd.exe -k install -n Apache2.4_php5.6 -D php5.6 httpd.exe -k install -n Apache2.4_php5.5 -D php5.5
这样就注册了两个apache服务
然后我们修改httpd.conf文件
<IfDefine php5.5> LoadModule php5_module "E:/PHPTools/php/php5.5/php5apache2_4.dll" AddType application/x-httpd-php .php .html .htm PHPIniDir "E:/PHPTools/php/php5.5/php.ini" </IfDefine> <IfDefine php5.6> LoadModule php5_module "E:/PHPTools/php/php5.6/php5apache2_4.dll" AddType application/x-httpd-php .php .html .htm PHPIniDir "E:/PHPTools/php/php5.6/php.ini" </IfDefine>
3.当然也可重装wamp(够苦逼的!!):数据库什么的都需要备份。
后续补增:我所遇到的问题根源解决办法(无需重装wamp):在Wamp的安装目录\wampmanager.ini 找到 [PHPVERSION]版块修改成相应的配置目录。
检查 :php源码库中的php.ini与phpForApache.ini文件中的extension_dir对应的路径。(os:真的一波三折,阅读要仔细啊!!!)