Welcome 微信登录

首页 / 网页编程 / PHP

PHP 配置open_basedir 让各虚拟站点独立运行

PHP 配置open_basedir 让各虚拟站点独立运行

当时觉得这跟IIS相比,实在太差了,因为在IIS里,可以在安全性里设置一个站点甚至一个目录访问时使用的匿名账号,只要各个站点使用的账号不一样,站点间的安全就不会互相影响。这几天才发现,原来当时的想法是错的,在Apache下,也可以配置PHP来实现各站点间的相互独立运行,虽然不能详细控制以某个用户运行某个站点,但至少不会再出现整个服务器被拿下的局面。 通过配置PHP的open_basedir即可以实现该控制,这个配置在IIS下也有用,但这里只讲Apache下...
PHP 程序员的调试技术小结

PHP 程序员的调试技术小结

本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP 中打开错误报告,以及通过在一个简单的 PHP 脚本中放置策略性的 print 语句,找到更困难的 bug 的源头。还会介绍用于 Eclipse 的 PHPEclipse 插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍 PHPEclipse 的 DBG 调试器扩展。 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间。一个有效却很基本的调试技术就是打开错误报...
php与XML、XSLT、Mysql的结合运用实现代码

php与XML、XSLT、Mysql的结合运用实现代码

使用php中的xml与xslt要用到一些dll库, extension=php_domxml.dll //操作XML的函数库 extension=php_iconv.dll //转码用的,比如将GB2312的转成UTF-8的 extension=php_xslt.dll //XSLT的函数库 使用上面这三个库的时候,你要将php安装目录下的dlls目录加入到路径中,否则会找不到 这些类库的 在下面的课程中,我们会用到php中的PEAR类库,主要用了DB类库...
php 引用(&)详解

php 引用(&)详解

在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码 代码如下: <? $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 所以输出EFG echo $b;//这里输出E...
PHP小程序自动提交到自助友情连接

PHP小程序自动提交到自助友情连接

目前网络上有一种ASP程序的自助友情连接联盟很流行,这个程序需要填写自己网站的标题、网址、邮箱、简介等内容然后提交,并且在自己网站做好该联盟的链接``并且点一次,就可以自动审核通过了。 不过,按照常规的方法,一个小时也登陆不了几个自助友情连接联盟,有什么省时省力的方法呢? 看了下这个ASP程序的代码 自己动手写了一个PHP的自动提交程序。程序包含两个文件,我分别取名为 1.php link.php(这个可以随意修改) 1.php代码: 复制代码 代码如下:...
PHP 单引号与双引号的区别

PHP 单引号与双引号的区别

1、定义字符串 在PHP中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:‘Hello"和“Hello"为非法的字符串定义。 定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的: Php代码 复制代码 代码如下: $s = "I am a "single ...
PHP 递归效率分析

PHP 递归效率分析

而且是差了3倍的效率。所以,PHP中的递归一定要小心的对待。 最近写了一个快速排序的算法,发现PHP中的递归效率不能一刀切,在各种不同的服务器中,可能会表现不一样。 复制代码 代码如下:function qsort(&$arr) { _quick_sort($arr, 0, count($arr) - 1); } /** * 采用递归算法的快速排序。 * * @param array $arr 要排序的数组 * @param int $low 最低的排序子...
PHP 进程锁定问题分析研究

PHP 进程锁定问题分析研究

1. 区分读锁定 和 写 锁定。 如果每次都使用 写锁定,那么连多个进程读取一个文件也要排队,这样的效率肯定不行。 2. 区分 阻塞 与 非 阻塞模式。 一般来说,如果一个进程在写一个文件的时候,另外一个进程应该被阻塞,但是,很多时候,我们可以先干点别的事情, 然后再判断一下是否有其他人在写文件,如果没有,再加入数据,这样的效率更高。 3. 修复了 锁定文件在linux 上的bug,特别是 在 gfs 文件系统上的bug。 代码如下: 复制代码 代码如下:...
phplock(php进程锁) v1.0 beta1

phplock(php进程锁) v1.0 beta1

在web开发中我们经常对我们的数据库耗时操作做缓存,但是可能出现一个陷阱,在缓存失效的一瞬间,大量的访问得到缓存失效的标示,都去后端查询数据库,导致同时大量的数据库耗时查询,出现数据库宕机等问题。此问题隐藏深,不容易查找。本项目主要用于解决php的进程间锁问题。 示例: 复制代码 代码如下: <?php /** * 测试例子,同时打开两个页面,可以发现总是同时只能一个页面进入到锁区间的代码 * @link http://code.google.com...
php Memcache 中实现消息队列

php Memcache 中实现消息队列

对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 反序列化,有太耗费。下面是我用PHP 实现的一个消息队列,只需要在尾部插入一个数据,就操作尾部,不用操作整个消息队列进行读取,与操作。但是,这个消息队列不是线程安全的,我只是尽量的避免了冲突的可能性。如果消息不是非常的密集,比如几秒钟才一个,还是可以考虑这样使用的。 如果你要实现线程安全的,一个建议是通过文件进行锁定,然后进行操作。下面是代码: 复制代码 代码如下: class Memcache_Q...
MYSQL 小技巧 -- LAST_INSERT_ID

MYSQL 小技巧 -- LAST_INSERT_ID

其实,这两个是有区别的,LAST_INSERT_ID() 能返回 bigint 值的id。而,mysql_insert_id 返回的是 int 。如果你 的id 是 unsigned int,或者 bigint 的 。那么,可能是返回的是错误的。而要用 LAST_INSERT_ID() 代替。 还有些朋友,返回的都是 0,不知道怎么回事,其实 LAST_INSERT_ID() 返回的是 AUTO_INCREMENT 的 ID。 如果,表结构中,没有设置,A...
Ajax PHP 边学边练 之三 数据库

Ajax PHP 边学边练 之三 数据库

本篇将继续通过该实例讲解与数据库的交互方式。实例中用到的是MySQL,也可以根据自己的需要替换为其他数据库,其连接方式可以参考PHP相关手册。 在下面源程序包中dbconnector.php 提供了与MySQL的连接函数。 复制代码 代码如下: <?php //定义数据连接变量 define ("MYSQLHOST", "localhost"); define ("MYSQLUSER", "root"); define ("MYSQLPASS", "...
php 接口类与抽象类的实际作用

php 接口类与抽象类的实际作用

1.php 接口类:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口类就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 : 复制代码 代码如下: interface Shop { public function buy($gid); public function sell($gid); pub...
<< 171 172 173 174 175 176 177 178 179 180 >>