您正在查看 "Php" 分类下的文章 2011-01-24 15:38 请高手无视内容..... 纯笔记 PHP的压缩传输可以使用php.ini中设置Zlib.output_compression=on,此时所有的PHP输出都会经过压缩 或者修改程序对指定要压缩的程序进行ob_start("ob_gzhandler");来实现压缩。 AMFPHP使用gzhandler压缩。 压缩的原理都一样,都是使用Zlib extension来操作,所以一定要load zlib.so,两种方式在同一个页面只能任选其一,否则会冲突。 使用ob_gzhandler的话实际调用ext/zlib/zlib.c的ob_gzhandler,来检测浏览器支持的压缩类型,执行gzip就用gzip压缩或者deflate. |
2010-05-04 11:50 没啥说的...安装简单,看图方式也省事.
唯一要注意的是,安装完xhprof只能采集数据,需要在讲xhprof_html放到web目录,才能看可读的数据,出图的话需要单独安装graphviz。
图上红色部分就是耗时最大的地方...连数据库...
工具不错,如何在公司内推广和真正用上才是核心问题。
|
2010-03-15 21:54 今天遇到python操作数据库字符串没过滤的错误,问清风python专业的办法是什么...答曰只有replace....汗PHP有专业的addslashes的函数...后来想想,看下源代码实现方法....扫描每个字符然后替换........厄....
while (source < end) {
switch (*source) {
case '\0':
*target++ = '\\';
*target++ = '0';
break;
case '\'':
*target++ = '\'';
*target++ = '\'';
break;
default:
*target++ = *source;
break;
}
source++;
} |
2010-01-19 10:59 最近打算用用Tokyotyrant,尝试写了一个PHP的扩展支持Tokyotyrant的3个方法...new&&open、put、get2.
我的C语言实在是是差...所以纯属写写学习,做个记录。如果有错误,请各位指正。
真正可用的TT PHP扩展移步这里,有可用的。http://pecl.php.net/package/tokyo_tyrant
用相同压力:200并发持续PUT1000次,value长度460个字符。
使用pecl的扩展平均执行速度0.0086386503秒,使用自己的扩展平均速度0.0084194368秒。
都是使用tt的api所以速度应该没有差距.
在PHP源代码下ext目录,新建立生成框架。
|
2009-12-31 22:17 php自带error_log函数可以方便开发者将自定义的报错信息通过Mail、PHP error log或者指定文件的形式输出。
这个函数是挺方便的,省去了开发者自己使用fopen fwrite来输出log,而且还是C的,我一直好奇这个函数的实现会不会是每次使用都在打开文件,关闭文件来操作...
对C不是很了解,查php源代码,error_log函数在缺省投放到php.ini设置的error_log中去,3是调用_php_error_log函数完成自定义输出文件。
0是缺省输出到error_log中的代码,似乎是使用缓存不会每次操作都要重复打开资源...由于对C一知半解..而且这部分也挺复杂的 |
2009-11-26 22:30 最近扫了眼某活跃用户过百万,总用户千万的产品代码.....同时由于昨天服务器出现故障,亲手体验了该程序的糟糕...不得不在这里感慨,就说PHP简单,咱也不能写的太初级了....网上有很多如何写好PHP的注意事项,我根据我昨天的经历也列举一些:
1.尽量用绝对路径加载文件
程序目录结构如下,a.php include config目录下的b.php,写的是相对路径没问题,b.php又加载c.php也写相对路径就无法找到c.php....这种问题仔细想很容易知道哪里错了,但是用的时候很容易出问题。
/a.php
<?php include("./config/b.php");? |
2009-09-14 17:03 PHP make错误:undefined reference to libiconv_open
make ZEND_EXTRA_LIBS='-liconv'
编译提示
checking for mysql_close in -lmysqlclient… no
checking for mysql_error in -lmysqlclient… no
configure: error: mysql configure failed. Please check config.log for more information.
在64位服务器上,也许是服务器没有获得正确的mysql lib.通常在lib64下
export LDFLAGS=-L/usr/lib64/mysql |
2009-07-31 13:52 今犯了个错误,这个结果出乎我意料....弱变量有时候虽然省事,但是自己思想就弱了,就容易出问题了....以后还会是用===吧。
$a=0;
$b=“a";
if($a!=$b)
{
echo "1";
}
else
{
echo "2";
} |
2009-06-05 17:05 很少用sort,今天遇到数据unset一个值后要重排key值,sort可以解决问题。
1 <?php
2 $a=array("a","b","c");
3 print_r($a);
4 unset($a[1]);
5 sort($a);
6 print_r($a);
8 ?>
结果
Array
(
[0] => a
[1] => b
[2] => c
)
Array
(
[0] => a
[1] => c
) |
2009-05-10 1:50 在cmd下执行php脚本,提示用户输入信息,并等待信息被录入的例子:
#!/usr/local/bin/php
<?php
fwrite(STDOUT,"Enter a filename to list: ");
$file = trim(fgets(STDIN));
$file = escapeshellarg($file);
$result = shell_exec("ls -l $file");
fwrite(STDOUT, $result);
exit(0);
?> |
| | |