安装dll's
以与MSSqL服务器一起使用后,命令php artisan migrate
正确运行,表格在db
中生成。所以我认为连接适用于这个应用程序。
然后我使用命令php artisan make:auth
(不使用数据库连接)来构建身份验证文件。
现在,当我尝试注册任何人时,我会收到错误:
PDOExeption(1/2)
无法找到驱动程序
和
PDOExeption(2/2)
无法找到驱动程序(从.....中选择计数(*)
现在,我尝试查看使用cli
命令是否仍然有效,php artisan migrate:rollback
和php artisan migrate
仍然有效。
环境: 安装了xampp的Windows 7。 版本:Laravel 5.4,php 7.1
这不重要,但以下是我的.env
和database.php
文件的一部分:
`database.php`
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '10.0.0.40'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'sqlcon'),
'username' => env('DB_USERNAME', 'sa'),
'password' => env('DB_PASSWORD', 'test'),
'charset' => 'utf8',
'prefix' => '',
],
`.env`
DB_CONNECTION=sqlsrv
DB_HOST=10.0.0.40
DB_PORT=1433
DB_DATABASE=sqlcon
DB_USERNAME=sa
DB_PASSWORD=test
那么cli
命令怎么工作而浏览器不工作呢?
laravel是否对cli
和浏览器连接使用相同的配置?
更新:添加了一些额外的信息
C:\ xampp \ htdocs \ sqlcon> php --ini
配置文件(php.ini)路径:C:\ Windows
加载配置文件:C:\ xampp \ php \ php.ini
在以下位置扫描其他.ini文件:(无)
解析了其他.ini文件:(无)
使用this显示我的php配置,它显示:
加载配置文件C:\ xampp \ php \ php.ini
php -m命令显示:
C:\ xampp \ htdocs \ sqlcon> php -m
[PHP模块]
bcmath时
......(其他一些人)
PDO_MYSQL
PDO_SQLITE
pdo_sqlsrv(启用此功能)
的Phar
...
[Zend Modules]
根据php -m
启用了pdo_sqlsrv
,但我在phpinfo
页面中找不到对它的任何引用。
答案 0 :(得分:2)
我有同样的问题,我已经解决了如下(WAMP):
您应该下载以下2 .dll文件。
您必须关注:
(我的案例:Windows 7 64位/ PHP 7 /线程安全 - > _7_ts_x64)
将下载的2.dll文件放入 wamp64 \ bin \ php \ php * \ ext
在默认扩展名后输入以下代码:
extension=php_pdo_sqlsrv_7_ts_x64.dll
extension=php_sqlsrv_7_ts_x64.dll
以下文件:
wamp64 \ bin \ apache \ apache * \ bin \ php.ini
wamp64 \ bin \ php \ php * \ php.ini
wamp64 \ BIN \ PHP \ PHP * \ phpForApache.ini 强>
答案 1 :(得分:1)
在php.ini
中安装驱动程序时,我使用了以下行,因为这是扩展目录(extension_dir="C:\xampp\php\ext"
)中文件的名称:
extension=php_pdo_sqlsrv_71_ts.dll
更改此目录中文件的名称及php.ini
文件中对其的引用并重新启动apache
解决了问题。
现在文件为php_pdo_sqlsrv.dll
,引用为:
extension=php_pdo_sqlsrv.dll
在下载dlls
并将更改更改为php.ini
后安装this。
不要忘记重新启动apache
。