Tag Archives: XAMPP

‘php’ is not recognized as an internal or external command – How to run PHP Command Line on Windows – 怎樣在Windows 上執行php 指令

最近用多了PHPLibrary..
很多時候都需要以PHP Command 來執行的
當我在Command Prompt 上輸入 php之後執行時 出現了以下錯誤
“‘php’ is not recognized as an internal or external command, operable program or batch file.”
PHP is not recognized as an internal or external command, operable program or batch file

Command Prompt 上執行 PHP 指令其實很容易的
Windows 上我們只需要把 php.exe 的資料夾 註冊在 Windows 的 Environment Variable /環境變數 便可以

首先要找到我們的PHP.exe 儲存在那裡
XAMPP PHP Folder
由於我是使用xampp的所以我的 php.exe 會存在
[xampp 的儲存路徑]\php\

Advanced System Settings/進階系統設定” -> “Advanced tab/進階 分頁” ->”Environment Variables / 環境變數” 按一下
在之前的網誌有介紹如何修改”Environment Variables / 環境變數” 有興趣的朋友可以到以下網誌參考
How to install Ant on Windows – 如何在Windows 上安裝Ant

Environment Variable
儲存之後按 “OK/確定
之後再登出再登入Windows 便可

Execute PHP on Windows Command Prompt
我的PHP config 檔案出現了小小問題..之後的網誌會介紹怎樣解決這些1

Hope you find it useful

How to enable GZip via .htaccess – 在.htaccess 檔案上Enable GZip

在之前的一篇網誌上介紹了如何在Apache / XAMPP上啟用 GZip Compression.

Enable GZip Compression on Apache XAMPP – 在Apache XAMPP 上 啟用 GZip 壓縮

原來在Apache上 Enable了 GZip Compression Module 之後
也需要在Website中的”.htaccess

以下是說給Server看這個網頁會使用GZip 來壓縮內容的script


#檢查 如果 mod_deflate存在的話執行以下script
<IfModule mod_deflate.c>

  # 啟動GZIP
  <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
  </IfModule>

  # 以下是上一個網誌中提到的Filter 功能
  #下列的設定是把以下MIME type 的檔案用GZIP處厘
  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml \
                                  application/javascript \
                                  application/json \
                                  application/rss+xml \
                                  application/vnd.ms-fontobject \
                                  application/x-font-ttf \
                                  application/xhtml+xml \
                                  application/xml \
                                  font/opentype \
                                  image/svg+xml \
                                  image/x-icon \
                                  text/css \
                                  text/html \
                                  text/plain \
                                  text/x-component \
                                  text/xml
  </IfModule>

</IfModule>

Hope you find it useful

Enable GZip Compression on Apache XAMPP – 在Apache XAMPP 上 啟用 GZip 壓縮

最近都常常留意如何令到網頁載入得更快
看了一些文章說如果先把網頁內容GZip 壓縮了便可以減小Bandwidth的使用了
令到網頁載入得更快

如果大家是使用ApacheXAMPP的話可以嘗試以下的方法

解法方法
開啟你的Apache / XAMPPApache 資料夾
E.g. “D:\xampp\apache\”
之後開啟 “Conf” 資料夾..這個資料夾內儲有和Apache Web Server相關的配置資料的檔案
E.G. “D:\xampp\apache\conf\
打開”httpd.conf” 檔案
之後 嘗試找出這一個module
LoadModule deflate_module modules/mod_deflate.so
mod_deflate

LoadModule filter_module modules/mod_filter.so
mod_filter
mod_filter是一個令Apache可以啟動過濾檔案功能的元件…
啟用了他之後便可以specific那些檔案會Apply 那些功能等等…

刪除前面的 “#” 字串..把他uncomment
之後重新啟動Apache Web Server便可以了

Hope you find it useful

Fatal error: Uncaught exception ‘Zend_Gdata_App_HttpException’ with message ‘Unable to Connect to ssl://www.google.com:443. Error #24: Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?’ in

今日朋友幫我寫了一個sample page..用來取Google Spreadsheet的資料的..
當我嘗試在我電腦上的xampp上執行時.. 出現了以下的錯誤信息:
Fatal error: Uncaught exception ‘Zend_Gdata_App_HttpException’ with message ‘Unable to Connect to ssl://www.google.com:443. Error #24: Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?’ in

Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Unable to Connect to ssl://www.google.com:443. Error #24: Unable to find the socket transport 'ssl'

因為錯誤信息指是和SSL 有關的.. 所以我便用 phpino() 來檢查一下Apache/PHP Server的設定
看到Apache 是支援SSL 的 “Apache2Handler – DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9
Apache SSL Handler
但是找不到PHP 有啟用了SSL 的設定..
所以我便開啟了 php.ini 找出 “extension php_openssl.dll” 之後除去前面的”;” 便可以了
php.ini enable php_openssl.dll
儲存後 重新啟動Apache 之後再次執行 phpinfo() 便會看了 OpenSSL 啟用了
php.ini OpenSSL Enabled

當我再次執行朋友幫我寫的Sample page 也沒有再出再問題了

Hope you find it useful

PHP Connect to MSSQL Issue 2 – Warning mssql_connect()[function.mssql-connect]: Unable to connect to server: – PHP 連接MSSQL Database 問題 2

當所有和MSSQL 有關的設定的也設定好之後
我還是不能成功連接到MSSQL..
在連接時出現這個問題
Warning mssql_connect()[function.mssql-connect]: Unable to connect to server:

為了確定問題不在於Server的關係..
我用了Microsoft SQL Server Management Studio
來連接這個Remote的SQL Server
成功連線..証明了問題不在Server上

所以便要好好研究一下我的PHP code/PHP settings 那裡出現問題
最後發現有可能要 Apache/PHP 中其中一個DLL 出現了問題

解決方法
你可以到以下URL 下載 ntwdblib.dll
http://l.lookfor.hk/SkyDriveMain
之後把他複製/取代 你電腦上的
Apache/bin/ntwdblib.dll

E.G.
H:\xampp\Apache/bin/ntwdblib.dll

php/ntwdblib.dll

E.g.
H:\xampp\php\ext\ntwdblib.dll
[在取代前我會建議你先備份這兩個資料夾上的ntwdblib.dll 以防萬一]

還有一個要注意的地方
就是雖然 MSSQL Server 的 default port 是 1433
但是我們寫的php code時需要加上這個Port

Windows的系統下
和在程式碼上我們要在Server Address 後面加上”,” 之後再加上1433
而不是不常用問的”:”
E.g.

$conn = mssql_connect("sharechiwai_server,1433", "sharechiwai" "Password")
or die("Couldn't connect to SQL Server on $myServer");

if (!$conn) {
die('Something went wrong while connecting to MSSQL');
}

而在Linux的系統上我們在Server Address 後面加上”:” 之後再加上1433
E.G.

$conn = mssql_connect("sharechiwai_server:1433", "sharechiwai" "Password")
or die("Couldn't connect to SQL Server on $myServer");

if (!$conn) {
die('Something went wrong while connecting to MSSQL');
}

Hope you find it useful