现在位置: 首页 >

PHP

Windows下PHP连接Oracle的设置

2014年09月15日 IT运维  ⁄ 共 922字 ⁄ 被围观 1+ /评论:+0°
Windows平台下用PHP连接Oracle进行开发,开发环境的设置有几个关键点,如下: 一、php.ini设置 把php.ini中的extension=php_oci8.dll开启,前面的注释分号去掉,加载php_oci8模块。 二、Oracle客户端安装 下载Oracle客户端绿色版本,注意:无论开发环境是64位系统和32位系统均选择32位的,这是一个很关键的点。到http://www.oracle.com/technetwork/topics/winsoft-085727.html 要注册登录才能下载 下载basic-nt版即可: http:/... 阅读全文

解码GL\x4f\x42A\x4c\x53

2014年01月09日 软件开发  ⁄ 共 265字 ⁄ 被围观 2+ /评论:+0°
解码GL\x4f\x42A\x4c\x53 形如GL\x4f\x42A\x4c\x53的文件解码,一般不是直接16进制转字符就可以,对其中的引号和斜杠要做一些判断和处理,例子如下: < ?php $t='0123456789abcdefABCDEF'; $fn='hexcodedfile.php'; $r=$p=$qt=$s=''; $slash=false; $i=$j=0; if ($f=fopen($fn,"rb")){ $s=fread($f,filesize($fn)); fclose($f); for ($i=0;$i<strlen($s);$i++){ ... 阅读全文

PHP函数执行时间测试

2012年07月07日 软件开发  ⁄ 共 38494字 ⁄ 被围观 2+ /评论:+0°
一直想写一段代码,测试全部PHP函数的执行时间,以在具体应用中尽量避免使用执行时间过长的函数,或寻求函数替代解决算法。今天简单写了下框架,基本思路是用数组保存函数名称及函数参数,然后分别测试。真正执行时,需要将PHP执行超时设置足够长,或者采用写入文件的方式。 PHP函数执行时间测试框架代码如下,具体函数参数尚未填写,有兴趣的朋友可以写完然后大家一起共享。整个思路大家也可以共同探讨,找到更有效的测试方案... 阅读全文

FastCGI错误No input file specified

2012年05月22日 IT运维  ⁄ 共 2030字 ⁄ 被围观 0+ /评论:+0°
FastCGI模式下访问php文件时,出现No input file specified.错误, 查看access.log 发现是 404, 加上 fastcgi_param SCRIPT_NAME $fastcgi_script_name; 就会出错,去掉就可以运行正常。原因分析:任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回一个404,并带上一句”No input file specified” 另外,还可能跟 路径或者 权限有关系,... 阅读全文

undefined reference to `libiconv_open' @PHP 5.3.8@解决方法

2011年11月01日 IT运维  ⁄ 共 5099字 ⁄ 被围观 3+ /评论:+2°
PHP 5.3.8编译时出现如下错误 ext/gd/libgd/.libs/gdkanji.o: In function `do_convert': /var/soft/php-5.3.8/ext/gd/libgd/gdkanji.c:350: undefined reference to `libiconv_open' /var/soft/php-5.3.8/ext/gd/libgd/gdkanji.c:365: undefined reference to `libiconv' /var/soft/php-5.3.8/ext/gd/libgd/gdkanji.c:381: undefined reference to `libiconv_close' ext/iconv/.libs/iconv.o: In function `_php_iconv_str... 阅读全文

Undefined symbols for architecture x86_64: _res_9_init

2011年10月31日 IT运维  ⁄ 共 1490字 ⁄ 被围观 3+ /评论:+0°
在MAC(OSX)下编译PHP 5.3.8(打开MySQL支持,--with-mysql,--with-mysqli)时会遇到如下错误: Undefined symbols for architecture x86_64:Undefined &quot;symbols for architecture_res_9_init &quot;x86_64,: referenced from: &quot;_res_9_init&quot; , referenced from: _zif_dns_get_mx in dns.o _zif_dns_get_mx _zif_dns_get_record in indns.o dns.o _zif_... 阅读全文

PHP导致系统负载高、IOWAIT高

2011年09月25日 IT运维  ⁄ 共 194字 ⁄ 被围观 0+ /评论:+0°
PHP导致系统负载高、IOWAIT高 今天出现一个故障现象:PHP导致系统负载高、IOWAIT高,分析如下: php调用较多是不假,但是为什么iowait会高呢?难道,php所include/require的文件数量比较多最终会导致iowait高? 需要找个合适的时间,对代码进行个小修改,进行跟踪,看看到底涉及到了多少文件的io 文件io多的,就需要进行优化 这个假设性的结论mark下,值得研究 阅读全文

GBK双字节编码致PHP单引号转义的SQL注入安全隐患

2011年09月15日 软件开发  ⁄ 共 836字 ⁄ 被围观 0+ /评论:+0°
GBK双字节编码致PHP单引号转义的SQL注入安全隐患 当php.ini中magic_quotes_gpc被设置为on时,提交的参数会被转义,例如,单引号会被转义成了'。一下子截断了字符型注入的路。 GBK双字节编码:一个汉字用两个字节表示,首字节对应0x81-0xFE,尾字节对应0x40-0xFE(除0x7F),刚好涵盖了对应的编码0x5C。 0xD5 0x5C 对应了汉字“誠”,于是 %d5%5c 经URL解码后为“誠”。 当我们提交参数 %d5' ,经浏览器URL编码后为%d5%27,再经PHP ... 阅读全文

Nginx/Apache/MySQL/PHP查看编译参数

2011年08月27日 IT运维  ⁄ 共 288字 ⁄ 被围观 0+ /评论:+0°
Nginx、Apache、MySQL、PHP编译完成后可以用以下方法查看编译参数,方便日后升级和保留记录。 Nginx编译参数: /usr/local/nginx/sbin/nginx -V Apache编译参数: cat /usr/local/apache2/build/config.nice PHP编译参数: /usr/local/php/bin/php -i |grep configure MySQL编译参数: cat /usr/local/mysql/bin/mysqlbug|grep configure 阅读全文

PHP文件包含漏洞原理分析和利用方法

2011年03月18日 IT运维  ⁄ 共 4847字 ⁄ 被围观 1+ /评论:+0°
PHP文件包含漏洞是PHP网站开发中常见的漏洞形式, 主要是由于对包含函数应用不当、代码书写习惯不当等造成的。本文将从包含漏洞产生的原理到防御方法入手,详细解析php文件包含漏洞。 一、涉及到的危险函数〔include(),require()和include_once(),require_once()〕 include() &amp;&amp; require()语句:包括并运行指定文件。 这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个... 阅读全文

Nginx+PHP内存占用分析

2011年01月16日 IT运维  ⁄ 共 6843字 ⁄ 被围观 0+ /评论:+0°
php-cgi内存占用 netstat -anop | grep &quot;php&quot; | grep -v &quot;grep&quot; | wc -l #check running php-cgi #!/bin/sh while [ 1 ] do for ps1 in `ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3&gt;=32000) print $1}'`; do kill -9 $ps1 done done php-cgi会在每个请求结束的时候回收脚本使用的全部内存,但是并不会释放给操作系统,而是继续持有以应对下一次... 阅读全文

Nginx+PHP优化提速

2011年01月16日 IT运维  ⁄ 共 1195字 ⁄ 被围观 1+ /评论:+1°
Nginx+PHP是高效、高速、高性能的完美组合,但是要发挥其性能极致还是需要一些手段进行优化,使得这个组合结合更加紧密。在Nginx中启用fastcgi cache就可以有效提高PHP网站的访问速度。 配置参数: http里: fastcgi_cache_path /www/php_cache levels=1:2 keys_zone=cache_php:30m inactive=1d max_size=10g; server里: location ~ .*\.php?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0... 阅读全文

uuid for php

2010年12月24日 IT运维  ⁄ 共 171字 ⁄ 被围观 0+ /评论:+0°
wget http://pecl.php.net/get/uuid-1.0.2.tgz $tar xzvf uuid-1.0.2.tgz cd uuid-1.0.2 phpize ./configure --enable-uuid make cp modules/uuid.so /usr/local/webserver/php/lib/ext/ 阅读全文

用xdebug对php进行程序性能分析

2010年12月23日 软件开发  ⁄ 共 1017字 ⁄ 被围观 0+ /评论:+0°
在php开发中,可以使用xdebug对php项目进行性能分析、查找性能瓶颈。xdebug的分析结果可以精确到具体的函数调用次数等。xdebug官网:http://xdebug.org, 目前版本2.1 1、下载安装 svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug cd xdebug /usr/local/php/bin/phpize ./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config make &amp;&amp; make install 2、修改配置文件 ph... 阅读全文

PHP安装错误处理方法(PHP install FAQ)

2010年12月08日 IT运维  ⁄ 共 3387字 ⁄ 被围观 0+ /评论:+0°
PHP安装错误处理方法(PHP install FAQ) 1. Error: Configure: error: xml2-config not found. Please check your libxml2 installation. Fix: yum install libxml2 libxml2-devel # aptitude install libxml2-dev (For ubuntu) 2. Error: configure: error: Cannot find OpenSSL’s Fix: yum install openssl openssl-devel 3. Error: Configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2 bzip2-... 阅读全文

PHP代码优化方法一

2010年12月05日 软件开发  ⁄ 共 2990字 ⁄ 被围观 0+ /评论:+0°
PHP代码优化方法一用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快... 阅读全文

php代码优化方法

2010年12月05日 IT运维  ⁄ 共 5279字 ⁄ 被围观 0+ /评论:+0°
优化PHP代码,加速运行速度的技巧总结 1. 尽量采用大量的PHP内置函数。 2. echo 比 print 快。 3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5. 注销那些不用的变量尤其是大数组,以便释放内存。 6. 并非要用类实现所有的数据结构,数组也很有用。 7. $row['id']的效率是$row[id]的7倍。 8. 在包含文件时使用完整路径,解析操作系统路... 阅读全文

undefined reference to `libiconv_open`

2010年09月08日 IT运维  ⁄ 共 579字 ⁄ 被围观 2+ /评论:+0°
在编译php、mysql、opencc时会遇到undefined reference to `libiconv_open‘的编译错误,以下是几种解决方法: 一、重新安装libiconv wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz tar -zxvf libiconv-1.13.1.tar.gz cd libiconv-1.13.1 ./configure --prefix=/usr/local/libiconv make make install 二、去除iconv模块再编译应用: 使用./configure --help查看参数,看具体应用如何去除iconv编译,例... 阅读全文

几款不错的PHP开发测试工具

2010年09月07日 软件开发  ⁄ 共 3316字 ⁄ 被围观 0+ /评论:+0°
当我们经常都要处理象手工代码测试及部署这样枯燥重复的工作时,往往会感到沮丧,我们一直努力想变得高效率,正如DRY原则所说的(译者住:DRY=Don't Repeat Yourself,不重复原则,参见:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。所以为什么不将这样的原则应用到软件开发的其他生命周期,使得能高效流畅并自动去完成这些工作呢?本文将向你介绍10款PHP开发测试工具,它们能正好能帮助你达到那样的要求,使你能有更... 阅读全文

FastCGI无法启动的故障处理案例

2010年08月19日 IT运维  ⁄ 共 595字 ⁄ 被围观 1+ /评论:+3°
今天遇到一个奇怪的FastCGI进程无法启动的故障,经过n多分析和尝试后,发现php-fpm.log文件大于2GB,删除该日志文件后FastCGI进程正常启动! FastCGI进程无法启动的时候,日志中的记录只有rlimit与系统ulimit文件数不一致的报告,而该错误一般不会造成进程不启动的故障。将系统配置改到一致也未能解决。后来发现无论重启或再次启动FastCGI进程,日志文件php-fpm.log大小均无变化且修改日期不变化,而且文件大小刚好为2GB,关键... 阅读全文
×
#