2.建立PHP测试环境
PHP的测试环境建立在Linux + Apache上,加上MySQL就是大家熟知的“LAMP”,也许自由软件真的是盏明灯,在这个功利至上的世界引导我们走向光明。下载了Apache 2.0.52和PHP 4.3.10的源代码后,编译、安装和配置都很顺利,开发PHP可用的集成环境也不少,最好的可能是Zend Studio,整个程序用Java开发,可以跨平台,但速度比较慢。
为了访问MySQL、Oracle和MS SQL Server,还必须在Linux上安装这些数据库的客户端,SQL Server 2000没有官方的Linux客户端,但可以使用一个叫FreeTDS的第三方产品连接SQL Server。
费了一番周折后,终于可以使用PHP进行测试了,下面是用PHP进行整数计算的测试代码:
$debug = new Debug;
$debug->startTimer();
$count = intval( $loopCount );
for( $j = intval( 0 ); $j < $count; $j ++ )
{
$result = intval( 0 );
for( $i = intval( 0 ); $i < $count; $i ++ )
{
$result += $i;
}
}
$totalTime = $debug->endTimer();
代码量似乎比C#还小,但为了计算运行时间我不得不使用了一个Debug类,PHP提供的功能显然没有.NET丰富,下面是Debug类的代码:
class Debug
{
function startTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
function endTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 5);
return $totaltime;
}
}
PHP4只支持有限的面向对象功能,与微软.NET的技术先进无法相比,但PHP是这三种开发平台中最简单易学的。下面是PHP4访问SQL Server 2000的代码:
$debug = new Debug;
$debug->startTimer();
mt_srand( make_seed() );
$owner = mt_rand();
$count = intval( $sqlNumber );
$result = intval( 0 );
$conn = @mssql_connect( 'fly', 'simon', '123456' );
for( $i = intval( 0 ); $i < $count; $i ++ )
{
$sql = "insert into fortest values ( $owner, $i," +
"'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' )";
mssql_query( $sql );
}
$sql = "delete from fortest where ownerid = $owner";
mssql_query( $sql );
$totalTime = $debug->endTimer();
echo "<h2>Micosoft SQL Server</h2><br/>\n";
echo "<h3>完成了".$sqlNumber."次insert操作。</h3><br/>\n";
echo "<h3>共耗时".$totalTime."秒!</h3>\n";
FreeTDS对SQL Server 2000事务支持的不好,提供的数据库函数中没有事务功能,只好使用最基本的操作。PHP4的另一个缺点是连接Oracle和MySQL时代码差别很大,完全依赖于数据库的底层接口,这样数据提取性能虽然有所体提高,但修改程序比较麻烦。
上一页 [1] [2] [3] [4] [5] 下一页