Laravel Composer PHP版本从5.6更改为7.0.10提供了错误

时间:2018-08-18 15:02:59

标签: php laravel laravel-5 composer-php wamp

我使用php版本5.6安装了laravel / composer,现在一切正常,我需要使用LDAP,因此当我检查时得到的提示是我需要PHP 7.0或更高版本,因此我尝试更改PHP版本为7.0.10,我发现正在运行的先前代码出现以下错误。

QueryException
could not find driver

我尝试更新作曲家,但没有任何工作正常,有任何建议。

我正在使用SQL Server,Laravel Framework 5.4.36,PHP 7.0.10。 我需要实现这里提到的LDAP,所以我要进行以下更改: https://github.com/Adldap2/Adldap2-Laravel

当我切换回PHP 5.6时,代码可以正常工作,因此代码似乎没有问题,我的猜测与PHP有关。 是否可以在不切换PHP版本的情况下实现LDAP。

2 个答案:

答案 0 :(得分:1)

您需要为php7.0安装正确的驱动程序。如果您看运行

php -m 

在使用php7.0时,您将看到没有安装数据库驱动程序模块。切换回php5.6并运行相同的命令。注意所有已安装的模块,然后切换回php7.0,并从php7.0存储库中取出所有适当的模块。

升级到php7.0后,php5.6模块将无法运行(或很少能正常运行)。

答案 1 :(得分:0)

非常感谢大家的帮助,我终于做到了。我能够将PHP从PHP 5.6更改为7.0.1,所以现在我的LARAVEL的COMPOSER正在使用它。

  1. 在此处下载并安装ODBC驱动程序:https://www.microsoft.com/en-US/download/details.aspx?id=36434

  2. 在此处下载DLL(可以找到7.0和7.1):https://github.com/Microsoft/msphpsql/releases

将这些DLL文件放在WAMP PHP版本文件夹中

C:\wamp\bin\php\php7.0.10\ext

打开您的“ php.ini”文件,然后查找“ extension =”行。这将告诉您将DDL文件放在何处。您可以像

一样放置DLL的整个路径
extension=C:\wamp\bin\php\php7.0.10\ext\php_sqlsrv_7_ts.dll
extension=C:\wamp\bin\php\php7.0.10\ext\php_sqlsrv_7_nts.dll

将DLL文件包含在扩展目录的Zip存档中。确保选择正确的版本。注意:我最初尝试使用x64版本,但是没有用。然后,我用x86版本替换了DLL,它终于起作用了。

发布此答案,以便对像我一样挣扎的所有人有所帮助。

确保重新启动WAMP服务器。