PHP
楚天乐
C 程序员,喜欢研究有有意思的技术
展开
-
官方对mysql_query函数和mysql_db_query函数
看了下中文的说明,有看了下官方英文说明,还是英文的好使。1.看mysql_query函数说明 :http://ca2.php.net/manual/en/function.mysql-query.php定义 resource mysql_query ( string $query [, resource $link_identifier ] )功能:发送唯一查询请求翻译 2011-11-20 10:09:56 · 5877 阅读 · 0 评论 -
把apache换成NGinx
CentOS6+NGinx1.0.8+PHP5.3.8+MySQL5.5(MySql和CentOS系统就不用动了)1.首先把apache服务删掉2.然后安下载源码,装NGinx我的编译参数3.重新编译安装PHP 原来变异参数中的--with-apxs2不能用了,他和--enable-fpm冲突./configure --prefix=/usr/lib/php --原创 2011-12-12 02:46:43 · 1888 阅读 · 0 评论 -
PHP弱数据类型的内部实现
PHP那个该死的若类型是怎么实现的打开php代码中Zend.h和Zend_types.h可以看到有如下定义:typedef union _zvalue_value { long lval; /* 长整形 */ double dval; /* 双精度 */ struct { char *val;原创 2011-12-21 00:31:11 · 1871 阅读 · 0 评论 -
zend studio错误恢复
今天一开机,启动zend studio就说出错,发生了一个内部错误。google了下找到一个管用的方法,重置zend studio。我是zend studio 9,破解的。解决方法出处:http://blog.csdn.net/guanle1986/article/details/65906691、找到目前使用的workspace,方法是菜单File | Switch Wo原创 2011-12-13 08:15:52 · 2209 阅读 · 1 评论 -
PHP扩展参数定义结构和操作详解
结构体/*PHP扩展中函数参数结构*/typedef struct _zend_arg_info { const char *name; //参数名 zend_uint name_len; //参数名长度 const char *class_name; //类名 zend_uint class_name_len; //类名长度 zend_bool array_type_h原创 2011-12-22 01:50:46 · 4449 阅读 · 1 评论 -
检测字符串是否为utf-8编码代码
出处:http://www.phpahz.tk/post/15以下函数用来检测字符编码是不是utf-8,是返回true,不是返回falsefunction is_utf8($string) { return preg_match('%^(?: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-转载 2011-12-23 04:22:16 · 961 阅读 · 0 评论 -
web页面和服务器通信回调函数的一种思路和实现
ajax何时好用,但是有些html控件对ajax支持不够好。比如ajax很难传文件(我没有说完全不能),而HTML自身提供了INPUT FILE控件用来上传文件。这个控件除了有点过时以外,还是好用的。如果服务器想返回消息给客户端,成功消息或出错原因,和附件存放路径,怎么办?INPUT FILE自身似乎是没办法完成这个的。他只负责上传,然后上传完了不能调用js。在网上找到了一种思路,客户端设置一原创 2011-12-26 03:55:15 · 2891 阅读 · 0 评论 -
Mysqli学习
mysqli扩展用来访问MySQL 4.1或更高版本提供的功能。关于mysql,详情看www.mysql.com。mysqli扩展和持久连接持久连接支持是在PHP 5.3的mysqli扩展中被介绍的。对持久连接的支持已经表现在PDO MySQL和ext/mysql里。持久连接背后的想法是,一个客户端进程可以重复使用一个 在客户端进程和数据库之间的连接,而不是重复的被创建和销毁。这样可以减少翻译 2012-01-13 01:39:04 · 971 阅读 · 0 评论 -
php安全防护的思考
网络安全的残酷现实,我就不多说了。写出合格的代码的人才是合格的程序员。合格的代码无非三点:安全,效率,维护性。安全当然要排第一位,一个错误百出的程序,再快在帅都是没有用的。效率可以优化,维护性可以通过不断的重构来解决。这里我就只关注安全性了。PHP也学了2个多月了。做了一个信息管理系统,作为我的第一个学习研究项目。PHP在服务器端做webservice,客户端HTML+JS通过原创 2012-01-20 09:35:42 · 1958 阅读 · 1 评论 -
php函数设计的一点思考
关于函数设计,命名规范什么的我就不说了。就php而言,php是一门弱类型语言,不能直观的看出参数和返回值类型。又是这会让代码阅读者困惑。比如function GetMainClassifyFromDB(){............................................}对于这样一个函数看不出什么问题。但是我们来讨论两种情况:一种是函原创 2012-03-09 23:44:02 · 761 阅读 · 0 评论 -
关于PHP代码安全
PHP代码可以文本查看,那么如果我虚拟机,是不是所有可以登录这台机器且有权限访问我虚拟目录的人都可以拿走我的代码,起码是可能的。查了下zend gard可以用来加密代码,服务器要有zend optim组件就能运行加密的PHP代码。我比较关心性能损失。回家再研究吧。先mark出来补充1:http://www.zend.com/en/products/guard/翻译 2011-12-03 02:07:33 · 5353 阅读 · 0 评论 -
PHP变量先定义后使用,关闭短标签
觉得变量不声明直接使用,有很多潜在的问题,比如我有可能用到我没有初始化的变量,一不小心米就有可能埋下祸根。解决方法:出处:http://www.lantian360.com/?mod=blog&tid=720PHP.ini 里面有强制开启变量在使用前先定义的开关.具体如下:; error_reporting; Default Value: E_ALL & ~E_NOTIC原创 2011-12-12 12:03:55 · 1404 阅读 · 0 评论 -
php乱码原因分析
结构:index.html--->ajax.jsdispatch.php---->addclassify.php----->database.php打开index.html后,页面显示正常,中英文均OK。点击添加,ajax.js发送请求到dispatch,dispatch根据请求功能码分发到addclassify,该文件负责添加,会用到database.php中的函数,然后ad原创 2011-12-18 22:09:55 · 1164 阅读 · 0 评论 -
关于PHP命名规则
既然web项目,免不了要把数据库连接信息,网站常量写在配置文件里。我写了如下代码在config.inc.php里面:<?php//网站信息$siteurl = 'http://xx.xx.xx.xxx/springroll/admin'; /*网站URL*/$sitename = 'Spring Roll';原创 2011-11-19 09:33:40 · 1360 阅读 · 0 评论 -
PHP中require与include的区别
require用法require(./config/config.inc.php);?>include暂时没有用,用到了再做补充require命令引用文件,一旦出错,会有严重的错误发生,应用程序停止;fatal error:xxxxxxxxxxxxxxxxxxxxxxxxxinclude命令引用文件,只会出现警告warning:xxxxxxxxxxxxxx原创 2011-11-19 09:22:34 · 414 阅读 · 0 评论 -
PHP自定义函数不能用外部变量
假设有头文件config.inc,里面存放了变量$dbaddr然后向封装一个数据库连接操作函数shy_connectdb()该函数要使用$addr变量本以为直接用require("config.inc")包含进来,函数里面就能用了,实验以后发现不行。后来发现global关键字可以在函数内应用外部变量 1 <?php 2 3 require(原创 2011-11-20 06:27:40 · 4267 阅读 · 0 评论 -
PHP字符串检测
出处 :http://hi.baidu.com/xixer/blog/item/cbd47ed3cc1b70d6a9ec9a2b.htmlctype_alnum -- Check for alphanumeric character(s)检测是否是只包含[A-Za-z0-9]ctype_alpha -- Check for alphabetic character(转载 2011-11-20 07:08:00 · 1383 阅读 · 0 评论 -
php官方对setcookie的说明
地址:http://ca.php.net/manual/en/function.setcookie.php定义:bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httpo翻译 2011-11-21 09:31:37 · 8173 阅读 · 0 评论 -
ajax介绍
原文: http://www.w3schools.com/ajax/ajax_intro.aspajax是关于页面部分更新的技术,不重新加载全页面。需要的知识背景HTML,CSS,JS/DOM1.什么是ajaxajax = Asynchronous JavaScript and XMLajax是一个用于创建快速,动态的网页的技术。ajax允许web页面被异步的更翻译 2011-11-21 12:37:47 · 588 阅读 · 0 评论 -
关于web性能的一点想法
概念:数据层前提条件同等硬件,同等带宽条件。为了提高性能,需要减少IO,降低数据库连接断开频率(连接断开很费资源)。减少IO:所有常量,或变动不大的量统统常驻内存。降低数据库连接频率:数据层分离,数据层负责统一协调。常量常驻内存指的是,一些常量,在系统启动时候,从数据库或者配置方案,一次性加载到内存,知道系统关闭释放内存,回写数据库或配置。这个和做客户端是一原创 2011-11-02 01:52:49 · 775 阅读 · 2 评论 -
php中客户端交互代码的结构设计
讨论范围:php服务器端较为靠前的代码,就是直接和页面打交道的这部分,数据库业务逻辑层,以及一些自定义处理模块不包含在其中。我把他分作两类:1.页面加载代码:所有在页面请求时运行的代码 2.ajax交互代码:在页面加载完成之后,为客户端ajax处理数据的代码我要讨论的就是ajax交互代码问题:客户端ajax应用种类很多,各种请求,如果把它和别的php代码放在一起,就不那原创 2011-11-30 15:08:48 · 1554 阅读 · 0 评论 -
对PHP的思考
PHP运行机制请求到来时,初始化资源;请求段开,则全部释放。好处:不会内存泄漏;结构简单。坏处:对我来说也多了去了,没办法优化性能啊。以前写VC项目的时候,一个启动加载,一个关闭卸载,这两个事件做了绝大多工作。比如,在启动时,准备好数据库连接,配置文件加载到内存数据某数据结构,初始化系统运行所需的数据结构,初始化GDI对象等等。因为这些工作都是确定要做的,在系统启动时候做好原创 2011-12-01 08:04:08 · 1306 阅读 · 0 评论 -
编译PHP
在此之前,我已经安装了apache,mysql,以及一些组件,包括autoconf, automake, bison, cmake, libjpeg, libpng, libmcrypt, libxml, mcrypt, mhash, ncurses, zlib.打算编译安装PHP的主题和已知插件,其他需要的,到时侯需要用的时候再说吧。]# ./configure -原创 2011-10-29 15:07:41 · 3187 阅读 · 0 评论 -
用gdb+nm调试php c extension程序
原文出处 :http://rdc.taobao.com/blog/cs/?p=1235终于看到关于php extension debug的东西了。先保存下载,前段时间入了个门。近期打算把PHP先用熟了。转载 2011-12-12 10:37:38 · 769 阅读 · 0 评论