PHP
九 14th, 2011
首先,描述下大致情况,后台脚本方式运行PHP,因为有多个任务需要同时运行,采用了PHP的多进程方式。 但是发现程序很容易就遇到mysql has gone away的问题。 每个子进程新建自己的数据库连接,长连接时需要用mysql_ping保持 相关文章: bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项 使用cgi作为php运行的命令需要注意的
PHP
PHP
四 21st, 2011
目前想到有两个办法。 一个是fork方式。 发现直接通过进程的alarm信号方式无法控制proc_open的执行。所以用fork方式,通过fork让子进程执行proc_open,父进程则通过alarm的方式控制时间。但是这么做会造成如果有输出值的话会很麻烦,要让子进程一直执行下去,因为没找到好的办法让父进程能获取子进程的输出。当然通过进程间通信能解决,但是太麻烦了。。。 另外个stream_select方式 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项 使用cgi作为php运行的命令需要注意的
fork | PHP | 并发
PHP
一 30th, 2011
1. 首先是key必须用引号,而且应该是双引号。 2.中文或者其他语言等,必须用UTF-8编码。这个很重要,而且推荐使用utf8_encode。我之前使用iconv转出来无法解析,很郁闷。 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 使用cgi作为php运行的命令需要注意的
json | PHP
PHP
一 10th, 2011
使用php cgi而非cli作为PHP命令行的解释命令时,需要注意部分设置。根据手册的说明,使用cli时,默认有了如下的支持: Overridden php.ini directives Directive CLI SAPIdefault value Comment html_errors FALSE It can be quite hard to read the error message in your shell when it’s cluttered with all those meaningless HTML tags, therefore this directive defaults to FALSE. implicit_flush TRUE It is desired that any output coming from print(), echo() and friends is immediately written to the output [...]
cgi | PHP
PHP
十二 9th, 2010
使用apache 的CGI方式读取PHP,发现配好开页面就是报Premature end of script headers。 网上很多都说权限什么的,我查了都OK。 最后php -v时发现是cli的模式。。我想到编译时用的–apxs=….. 难道不行?网上一查,果然是,用了这个参数就会被编译成cli的方式了。于是立即去除重新编译。 之后如果出现 Security Alert! The PHP CGI cannot be accessed directly。请修改ini文件中的 cgi.force_redirect = 0 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项
PHP
PHP
十一 27th, 2010
用了这么久的PHP,今天在看代码时突然看到个陌生的函数。 declare 翻了下手册,写的有点模糊,google之,并自己试验了一下。 先简单说明,declare这个函数只支持一个参数就是ticks,函数表示记录程序块,需配合register_tick_function 函数使用。ticks参数表示运行多少语句调用一次register_tick_function的函数。并且declare支持两种写法: 1. declare(ticks = 1); 整个脚本 2. declare(ticks = 1) { 内部的代码做记录 … } <? declare (ticks = 1); //这句这么写表示全局的脚本都做处理 function foo() { //注册的函数 static $no; $no++; echo $no."======"; echo microtime()."\n"; } register_tick_function("foo"); //注册函数,后面可以跟第2个参数,表示函数的参数 $a = 1; for($i=0;$i<5;$i++) { //这里的循环也是语句,会做一次判断$i<5的判断执行 $b = 1; } ?> 上述代码除了函数体不算执行代码,其他都会做一次执行,运行可看到执行的次数和时间。用于代码调试较好。 [...]
PHP
PHP
十 4th, 2010
如标题所示,该错误的处理方式是这样的: ini_set(’gd.jpeg_ignore_warning’, 1); 问题好像是出现在PHP5 和GD2的时候,记录下来。 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项
PHP
PHP
四 2nd, 2010
依旧是可恶的IE6…坚称自己不再支持这个浏览器了,缺还不得以改它引起的BUG 状况: IE6下通过跨域请求一段文本,并且这段文本扔给本地的JS执行,结果会有一定概率不执行JS…比如跨域调用一个弹出窗口的内容,窗口内容不出来….据有人称,官方回复是这样的: Do not enable HTTP compression for the script files 请不要对脚本文件开启http压缩 事实上,只要遇到服务端的头输出了no-store,no-cache并且内容是gzip压缩的话就会造成这个问题. 解决: 可以用两种办法解决,网上比较多的是去掉了gzip压缩.这个办法我这里不说了,关键是根据你的WEB服务器来决定怎么做了. 另外就是去掉no-store,no-cache的头.以我这边的PHP为例: 当使用了session_start()后, 就默认已输出了no-store,no-cache了.当然去掉session_start不现实.. 可以通过 session_cache_limiter(false); header(‘Cache-Control:max-age=0, must-revalidate, post-check=0, pre-check=0′); header(‘Pragma: no-cache’); session_start(); 就这样..很容易 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项
PHP
WEB
三 30th, 2010
fusioncharts是个很不错的生成chart图的东东,主要优点是相当漂亮…比起amchart以及openchart等等来说,我觉得这个属于第一流的了。另外这个东西支持JS调用,这点比较好。官方还有JQUERY的扩展了,不过这个用不用倒也关系不大,因为本身就已经是比较方便的了。 我这里主要是遇到了中文的问题,说下处理方式: 在使用setDataURL调用远程的XML文件时,当这个XML是通过动态程序输出的时候,需要注意以下问题: 1. 确保文件编码是UTF-8 (2. 确保输出content-type是encoding是utf-8 貌似不是必要的) 3. 输出BOM,这个很重要。以PHP为例: $xml = …. echo pack("CCC",0xef,0xbb,0xbf); echo $xml; 参考: http://www.fusioncharts.com/ 相关文章: FLASH在FF中遮挡DIV javascript直接注册全局对象 HTTP的重定向(301,302,303,307) 本机的时间也会影响网站的会话 JS实现背景透明度可变,文字不透明的效果
chart | PHP
PHP | 网络技术
三 25th, 2010
consistent其实是一种分布式的算法, 见的最多的就是memcached上的. 比起一般的取模做分布式算法的好处在于,当增减服务器时,consistent算法可以更大的减少key的重新的map的过程. 更详细的参见memcached的分布式算法: http://tech.idv2.com/2008/07/24/memcached-004/ 这里要说下的是关于这个算法到底如何实现的. 相关文章: php多进程时,遇到mysql has gone away的解决 bind_textdomain_codeset undefined PHP中控制proc_open的执行时间 使用apache 的PHP cgi时遇到的Internal Server Error可能原因 PHP json解析的注意事项
memcached | PHP