Ⅰ 如何配置phpadmin
phpadmin就是一個產品,用於管理mysql資料庫的,畢竟很多資料庫伺服器不能夠公開連接,所以只能夠使用http的方式來進行連接管理。
下載phpadmin( http://xj-http.skycn.net:8181/down/phpMyAdmin-2.6.1-rc2.zip)解壓到apache能夠訪問的一個目錄中(首先apache和php已經集成好了,能夠瀏覽php頁面)。運行訪問index.php會出現一些提示情況。如果你的mysql安全設置不錯的話,可能默認情況下是不能夠連接到你的伺服器的,需要修改一些配置信息。
修改phpadmin/config.inc.php文件,其中主要是對mysql連接方式,連接路徑以及用戶名密碼的設置。
修改如下:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpadmin/';
$cfg['PmaAbsoluteUri_DisableWarning'] = TRUE;
$cfg['blowfish_secret'] = 'admin';
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
// (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings
// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user"
// and "mysql/db" tables).
// The controluser is also
// used for all relational
// features (pmadb)
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed其中比較重要的幾個參數意義:
'PmaAbsoluteUri' phpadmin的全路徑,如果在apache中設定了一個alias的話就使用這個了
'PmaAbsoluteUri_DisableWarning' 這個好像是用於取消警告的,經常安裝好了在訪問的頁面上面會出現一些紅色字體的警告(安全等等),如果設置成為true就不出現了
'blowfish_secret' 這個是如果授權方式設置成為cookie的話就會使用這個來進行加密存入到cookie中的用戶名和密碼
'auth_type' 用於設置登陸方式,config是直接從這個文件中獲取user/password然後連接資料庫,http則是在客戶端訪問的時候會彈出一個輸入用戶名密碼的框進行認證處理 cookie則是通過頁面輸入用戶名密碼進行連接。其中config的安全等級最低,cookie的等級最高,不過如果禁用了cookie則無法使用cookie的方式進行認證。
通常設置成為cookie的方式以後要在apache的httpd.conf文件中修改對應的配置:
#added for phpmyadmin
Alias /phpadmin/ "website/phpMyAdmin-2.6.1-rc2/"
#php_admin_flag engine on
#php_admin_flag safe_mode off DirectoryIndex index.php
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
#php_admin_flag engine on
#php_admin_flag safe_mode off
#php_admin_value open_basedir none
#php_admin_value open_basedir "website/phpMyAdmin-2.6.1-rc2/" 當然主要是設置訪問許可權和別名 <Directory "D:/MyPHP/Apache2.2/htdocs">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /phpmyadmin "D:/MyPHP/Apache2.2/htdocs"
Ⅱ 怎樣在命令行執行phpunit
因為phpunit要通過pear安裝,所以首先要安裝pear
找到php的目錄下有一個Go-pear.bat,雙擊運行,提示你安裝系統級別的還是一個本地拷貝,直接回車,定製安裝目錄,選擇默認即可,直接回車。程序會自動從網站上下載所需要的文件,過一會就提示你安裝好了。
安裝好pear後,在php的目錄下發現有一個pear.bat,這個是pear安裝包用的程序,
在命令行進行php目錄,輸入 pear install phpunit2
即可,安裝完成。
在php目錄下會生成一個phpunit.bat,這個是命令行下的測試命令。
我們可以把他復制到我們要測試程序的目錄下面。
在命令行下輸入 phpunit sampleTest
就是對sampleTest這個case進行測試了。
有二點需要注意的地方:
phpunit需要pear的benchmark包,所以要安裝 pear install benchmark即可。
在windows下安裝完成後還不能直接進行測試,運行測試程序時會出現 'php'不是內部或外部命令,也不是可運行的程序。的錯誤,經我一路跟蹤,最後在PHPUnit2/Util/Fileloader.php這個文件里找到了問題所在,這個文件是載入測試文件用的,同時使用php解釋器進行了語法檢查,shell_exec('php -l ' . escapeshellarg($filename));,而我的php.exe並沒有在系統的path中,所以出現了上述問題,一種辦法是將$output到include之前的代碼全部注釋掉,這樣就不用語法檢查了,還有一種辦法就是在系統path中加入php的安裝目錄。
Ⅲ 如何使用PHP實現圖像比較
<?php
/**
* 圖片相似度比較
*
* @version $Id: ImageHash.php 4429 2012-04-17 13:20:31Z jax $
* @author jax.hu
*
* <code>
* //Sample_1
* $aHash = ImageHash::hashImageFile('wsz.11.jpg');
* $bHash = ImageHash::hashImageFile('wsz.12.jpg');
* var_mp(ImageHash::isHashSimilar($aHash, $bHash));
*
* //Sample_2
* var_mp(ImageHash::isImageFileSimilar('wsz.11.jpg', 'wsz.12.jpg'));
* </code>
*/
class ImageHash {
/**取樣倍率 1~10
* @access public
* @staticvar int
* */
public static $rate = 2;
/**相似度允許值 0~64
* @access public
* @staticvar int
* */
public static $similarity = 80;
/**圖片類型對應的開啟函數
* @access private
* @staticvar string
* */
private static $_createFunc = array(
IMAGETYPE_GIF =>'imageCreateFromGIF',
IMAGETYPE_JPEG =>'imageCreateFromJPEG',
IMAGETYPE_PNG =>'imageCreateFromPNG',
IMAGETYPE_BMP =>'imageCreateFromBMP',
IMAGETYPE_WBMP =>'imageCreateFromWBMP',
IMAGETYPE_XBM =>'imageCreateFromXBM',
);
/**從文件建立圖片
* @param string $filePath 文件地址路徑
* @return resource 當成功開啟圖片則傳遞圖片 resource ID,失敗則是 false
* */
public static function createImage($filePath){
if(!file_exists($filePath)){ return false; }
/*判斷文件類型是否可以開啟*/
$type = exif_imagetype($filePath);
if(!array_key_exists($type,self::$_createFunc)){ return false; }
$func = self::$_createFunc[$type];
if(!function_exists($func)){ return false; }
return $func($filePath);
}