windows2008R2 x64位架設IIS7.x的支持SQLServer2008的PHP服務器


     客戶的服務器是windows2008R2 x64位的,數據庫是SQLServer2008版本,要在原來的.net的web版本系統基礎上做手機版本,又因為手機版本要支持微信支付,必須用有域名的80端口,本人是用ThinkPHP3.2.3來做后台開發的,一系列下來發現,真是麻煩。

在IIS7.0 (客戶已經安裝好II7.0 這里就不多說安裝過程了,記得選擇:"CGI"、"ISAPI 擴展"、"ISAPI 篩選器")上支持php解析:最好方式是安裝 "PHP Manager" 來管理 (http://phpmanager.codeplex.com/releases/view/69115 本人64位系統,下得是:PHP Manager 1.2 for IIS 7 - x64 版本),

把到:"http://windows.php.net/download#php-5.5" 下載的32位的5.5.35版本  "VC11 x86 Thread Safe" 解壓縮到:D:\php 目錄下,這里一定要提醒的是,因為要連接SQLServer2008數據庫不要下載php5.5 x64位的版本,否則會導致:

" Undefined class constant 'PDO::SQLSRV_ATTR_ENCODING'

錯誤位置
FILE: D:\php\www\ThinkPHP\Library\Think\Db.class.php  LINE: 39 

"
ThinkPHP3.2.3的這個錯誤提示,是因為微軟的SQLServer2008的PDO驅動沒有提供x64位的。

安裝對應的支持庫文件,https://support.microsoft.com/en-us/kb/2977003    The latest supported Visual C++ downloads 下載對應的c++支持庫,本人用x86_2012_vc11,安裝。


在 "PHP Manager"修改相關配置,指向 D:\php的解析程序,

在PHP Manager --> PHP Extensions --> Enable or disable an extension 里面,啟用或停用對應的擴展:

開啟 所需模塊,如:php_curl.dll  php_mysql.dll   php_mysqli.dll   php_xmlrpc.dll   php_curl.dll 等等。

然后測試一下phpinfo()是否ok

就說明php環境ok了。

 

接下來,做支持MS SQLServer2008數據庫的支持,

去MS網站下載相關的文件: https://msdn.microsoft.com/en-us/library/cc296170.aspx  對應的dll文件與ODBC11,

 https://www.microsoft.com/en-us/download/details.aspx?id=36434  有32位版本與64位版本 (msodbcsql_amd64.msi) ODBC11本人是x64位版本,請安裝;

32位的php5.5.3對應的是: https://www.microsoft.com/en-us/download/details.aspx?id=20098   SQLSRV32.EXE,運行解壓,將:線程安全的"php_pdo_sqlsrv_55_ts.dll"、"php_sqlsrv_55_ts.dll" 文件,拷貝到D:\php\ext 目錄下。

編輯:D:\php\php.ini文件:
date.timezone = "Asia/Shanghai"
extension_dir = "D:\php\ext"
extension=php_sqlsrv_55_ts.dll
extension=php_pdo_sqlsrv_55_ts.dll

 

因為要與IIS以前默認的80端口的程序公用,在"Default Web Site"上面"添加應用程序..."

配置相關選項。

測試ok!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM