Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用WAMP调用未定义的函数sqlsrv_connect()_Php_Sql_Wamp_Driver_Connect - Fatal编程技术网

Php 使用WAMP调用未定义的函数sqlsrv_connect()

Php 使用WAMP调用未定义的函数sqlsrv_connect(),php,sql,wamp,driver,connect,Php,Sql,Wamp,Driver,Connect,我知道这个问题已经在这个网站上被问了好几次了,但我真的开始怀疑我是不是疯了 我的配置:WampServer 2.5 64位(PHP5.5.12,Apache 2.4.9) 我的步骤: 从下载Microsoft驱动程序SQLSRV32.exe 从“我的桌面”上下载的.exe中提取文件 将php_sqlsrv_55_ts.dll和php_pdo_sqlsrv_55_ts.dll复制到C:\wamp\bin\php\php5.5.12\ext 编辑C:\wamp\bin\php\php5.5.12\p

我知道这个问题已经在这个网站上被问了好几次了,但我真的开始怀疑我是不是疯了

我的配置:WampServer 2.5 64位(PHP5.5.12,Apache 2.4.9)

我的步骤:

  • 从下载Microsoft驱动程序SQLSRV32.exe
  • 从“我的桌面”上下载的.exe中提取文件
  • 将php_sqlsrv_55_ts.dll和php_pdo_sqlsrv_55_ts.dll复制到C:\wamp\bin\php\php5.5.12\ext
  • 编辑C:\wamp\bin\php\php5.5.12\php.ini,添加“extension=php_pdo_sqlsrv_55_ts.dll”和“extension=php_sqlsrv_55_ts.dll”
  • 编辑C:\wamp\bin\apache\apache2.4.9\bin\php.ini,添加“extension=php_pdo_sqlsrv_55_ts.dll”和“extension=php_sqlsrv_55_ts.dll”
  • 重新启动所有服务(我甚至尝试重新启动我的计算机,但没有任何效果)

  • 我仍然得到错误。。。那么,我缺少了什么来实现这一点呢?

    您是否尝试使用wamp接口修改php.ini


    我知道这听起来很奇怪,但有时结果与使用浏览器直接编辑文件不同。Wamp以一种奇怪的方式管理这些文件,请尝试一下…

    仅安装PHP扩展是不够的,您还需要安装Microsoft®ODBC Driver 11 for SQL Server®-Windows

    另外,确保编辑正确的
    php.ini
    文件的最佳方法是使用wampmanager菜单。因此,今后应:-

    wampmanager -> PHP -> php.ini
    
    这将把正确的php.ini加载到yoru编辑器中

    C:\wamp\bin\php\php{version}\php.ini
    仅由php CLI使用


    C:\wamp\bin\apache\apache{version}\bin\php.ini
    仅由php在apache下运行时使用

    我终于找到了导致问题的原因。我的Wamp是64位的,但sqlsrv驱动程序只适用于32位版本。现在它可以完美地工作。

    SQL Server爱好者安装和配置PhP的详细步骤:

  • 安装Wamp wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe
  • 配置PhP A.更新配置文件 拇指规则是 我更改端口 二,。从拒绝更改为授予 三、由无变为允许 iii.将顺序从Deny、Allow更改为Allow、Deny

    C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
    Line # 62, 63
    Listen 127.0.0.1:8201
    Listen [::0]:8201
    
    Line # 240
    <Directory />
        AllowOverride all
        #Require all granted
        Order allow,deny
        Allow from all
    </Directory>
    
    Line #274
    AllowOverride all
    
    Line #282
        Order allow,deny
        Allow from all
    Line #299
    Require all granted
    

  • 确保使用php_error.log(
    wamp->php->php错误日志

    php_sqlsrv_7_ts_x64.dll
    php_pdo_sqlsrv_7_ts_x64.dll
    正在使用7.0.29版本的php,但没有使用7.2.4


    重新启动服务是不够的,退出并运行Wamp。

    这是我唯一的问题+我给你1英镑。@qwertzuiop你是怎么修好的?我也有同样的问题。请help@YunusAslam下载32位版本的Wamp@qwertzuiop我让它与64位本身一起工作。刚刚使用了正确的dll文件。我有完全相同的设置。我只需要将它添加到C:\wamp\bin\apache\apache2.4.9\bin\php.ini中,因为我只使用了sqlsrv_connect,所以只使用了php_sqlsrv_55_ts.dll,但我想pdo扩展不会有什么坏处。请注意,没有别的办法。。53/54/56 ... 或7_ts_x86/x64
    Steps:
    
    a. Download Microsoft Driver SQLSRV32.exe from https://www.microsoft.com/en-us/download/details.aspx?id=20098. 
    b. Extract the files from the .exe downloaded on my temp folder
    c. Copy php_sqlsrv_55_ts.dll and php_pdo_sqlsrv_55_ts.dll into C:\wamp\bin\php\php5.5.12\ext folder
    d. Or Copy dlls from DLL folder to C:\wamp\bin\php\php5.5.12\ext folder
    e. Edit C:\wamp\bin\php\php5.5.12\php.ini add
        extension=php_pdo_sqlsrv_55_ts.dll
        extension=php_sqlsrv_55_ts.dll
    f. Edit C:\wamp\bin\apache\apache2.4.9\bin\php.ini add 
        extension=php_pdo_sqlsrv_55_ts.dll
        extension=php_sqlsrv_55_ts.dll
    g. Install Microsoft® ODBC Driver 11 64 bit or 32 bit as per your OS. My OS is 64 bit. The ODBC drivers can be found @ https://www.microsoft.com/en-us/download/details.aspx?id=36434 or in the folder ODBC
        And newer drivers can be found @ https://www.microsoft.com/en-us/download/details.aspx?id=20098
    e. Restart all services / Restart computer
    f. Place Sample php files in c:\wamp\www\TestWeb folder and browse http://localhost:8201/TestWeb/page.php
    g. Change host name, db name, uid and pwd as per your SQL server credentials