1. MySQL安装时输入mysqld --initialize-insecure --user=mysq会提示缺少文件,此时需要将文件msvcp120.dll和文件msvcr120.dll拷贝到C:WindowsSystem32目录下。
2. Mysql安装时报0xc000007b错,此时需要执行DirectX Repair V3.7 (Enhanced Edition)下的DirectX Repair.exe或DirectX_Repair_win8_win10.exe进行修复,必要要用DirectX增强版,目前网上有更新的版本。Windows Server 2012使用MSVBCRT.AIO.2019.03.02.X86 X64_ForServer2012.exe进行修复。
3. 在Widows Server 2012上安装php时,使用64位的php总是不行,最后替换为32位的php,即php-5.6.38-Win32-VC11-x86.zip。
4. 如下是网上找到的资源,用于配置php访问SQL Server,在5.6以上的PHP已经没有php_mssql.dll,貌似也不再原生支持sql2000以上版本的sql server了,要通过第三方模块,在微软官网找到了:
Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下载链接地址有四个文件:
•SQLSRV30.EXE
•SQLSRV31.EXE
•SQLSRV32.EXE
•SQLSRV40.EXE
分别支持不同的PHp版本
•Version 4.0 supports PHP 7.0+
•Version 3.2 supports PHP 5.6, 5.5, and 5.4
•Version 3.1 supports PHP 5.5 and 5.4
•Version 3.0 supports PHP 5.4.
如果是PHP 5.2要下载一个SQLSRV20.EXE,这个文件目前在网上也能很容易的找到;
(虽然5.2这么旧的版本早就该被淘汰了,但是考虑到某些环境还需要用它)
php_pdo_sqlsrv_52_ts_vc6.dll
php_sqlsrv_52_ts_vc6.dll
![008004da041704b92e47e43cbc8df2ec.png](https://i-blog.csdnimg.cn/blog_migrate/75c46a3faf6fd60bacb9474de20fd0bf.png)
4.1. 我手里是PHP 5.6.11 win32 ts,要用到这个
php_sqlsrv_56_ts.dll
php_pdo_sqlsrv_56_ts.dll
这两个文件,复制到phpext目录下,
4.2. php.ini 里加上以下两句:
extension=C:PHP5extphp_sqlsrv_56_ts.dll
extension=C:PHP5extphp_pdo_sqlsrv_56_ts.dll
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。
4.3. 重启IIS或者Apache,
4.4. 通过phpinfo能够看到如下模块显示,我们的PHP应该此时就能访问SQL Server 2008R2了;
![17953a6c7e39533c02ea7833fde85001.png](https://i-blog.csdnimg.cn/blog_migrate/013864ceba02cabc0ee5f79cb46bdca0.png)
![91ccf54bfc7ff9a04765e47d794cfeca.png](https://i-blog.csdnimg.cn/blog_migrate/a6bb1cf1abba2cccbc6ff2a7a2282af6.png)
4.5、写一个小程序验证一下:
<?php
try {
$dbName = "sqlsr";
$dbUser = "sa";
$dbPassword = "yoooko";
$db = new PDO($dbName, $dbUser, $dbPassword);
if ($db)
{
echo "database connect succeed.<br />";
}
catch (PDOException $e)
$content = iconv("UTF-8","gbk",$e->getMessage());
echo $content . "<br />";
//echo "Hello PDO to MS SqlSrv!";
?>
如果出现如下提示:
![797a4e5868c77f38317b7ef5622aa063.png](https://i-blog.csdnimg.cn/blog_migrate/04b52b50b2297fa49c2af31f51902f0a.png)
可能你还需要安装 Microsoft® ODBC Driver 11 for SQL Server® - Windows
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=36434
![26db28dccba759355b6a72330b9a0958.png](https://i-blog.csdnimg.cn/blog_migrate/bed42d1e7e37039826ce8f4bce13be1f.png)
如果正确的话,应该就OK了:
5. 如果php写的程序用到了ldap认证,需要将php目录下的php.ini中如下项取消注释
extension=php_ldap.dll
6. php.ini文件在php目录和C:Windows目录各放一个,修改php.ini后最好重启下IIS服务
7. 网页部分,有时会出现550错误,可能是因为开发代码部分问题,加上屏蔽警示代码可解决,如下:
error_reporting(E_ERROR);
ini_set('display_errors','off');
或者找到php.ini,查找
error_reporting ,display_errors 修改如下
error_reporting = E_ERROR
display_errors = Off
8. 如下图片问题,将C:WindowsTemp权限设置为可读写。
![57330446c23de44094ba36eaea259a32.png](https://i-blog.csdnimg.cn/blog_migrate/caef8780c137a1715f9828fe79caf679.png)
![053dea735f9d1ba8ac1ddae03df1be63.png](https://i-blog.csdnimg.cn/blog_migrate/4a974caf0a3941188a839bc457d82c50.jpeg)
9. 拷贝数据库后访问有问题,显示表不存在等异常,解决方案为将MySQL服务关闭之后再拷贝。
相关文章链接:
大脸猫rain:IIS+MySQL+PHP+Phpmyadmin配置Web站点之Phpmyadmin安装zhuanlan.zhihu.com