当前位置:  编程技术>php
本页文章导读:
    ▪把PHP安装为Apache DSO       look: PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI。我建议你.........
    ▪PHP4中实现动态代理       作者:Binzy 来源:超越PHP 一、 摘要本文简单阐述了Proxy模式及具体说明了如何在PHP4中实现动态代理, 本文只是给出了一个实现的方法的原型. 由于水平有限, 有任何意见和建议请反馈给Binzy [ Binz.........
    ▪phpmyadmin操作流程       phpmyadmin是用来远程连接MySQL数据库的客户端软件,用户可以参考如下步骤来配置phpmyadmin软件: 请您将phpmyadmin.rar文件下载到您的本地; 使用winrar将该文件解压,生成一.........

[1]把PHP安装为Apache DSO
    来源: 互联网  发布时间: 2013-11-30

look: PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI。

我建议你最好把PHP安装为Apached的DSO ,这种安装模式的维护和升级都相当简单。比方说,假设你原先只安装了PHP的数据库支持功能。可过了几天之后你又决定要为PHP添加加密功能。很简单,你只要键入make clean命令,然后增加新的配置选项,接着再执行make和 make install命令即可。这样,新的PHP模块就会被安装到Apache上的恰当位置,你只要重新启动Apache就一切OK了,当然,整个过程完全不用重新编译Apache。

安装新版本的Apache以及安装作为Apache DSO的PHP的简单步骤如下所示:

1. 从Apache软件基金会这一站点下载Apache服务器软件的最新版本源代码。
2. 把代码文件放到/usr/local/ 或者/opt/ 等合适的目录下。
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
4. 键入以下的解包命令把以上的tar文件放到形为apache_[version]的目录下:

tar -xvf apache_[version].tar

5. 进到/usr/local/apache_[version] 目录(或者在上面步骤中你所指定的目录)。
6. 键入下面的配置命令,用你设定的路径(比如/usr/local/apache[version]等,注意后面不要跟斜线!)取代[path]参数,同时你还要启用mod_so参数以允许Apache使用DSO。

./configure --prefix=[path] --enable-module=so

7. 回到命令提示行键入make命令并等待命令执行完成再次回到命令提示状态下。
8. 键入make install。

到这个时候,编译器即可创建最终的目录并返回到系统的命令提示状态下。

接下来安装PHP:

1. 访问PHP主页的下载区域选中最新版本源代码的链接。
2. 把下载的文件放到/usr/local/ 或者/opt/等适当的目录下。
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
4. 键入以下的解包命令把以上的tar文件放到形为php-[version]的目录下:

tar -xvf php-[version]

5. 进到/usr/local/php-[version]目录下(或者你指定的目录)。

现在即可编译PHP DSO,其实这里只需要一个必要的配置选项--with-apxs(Apache bin目录下的一个文件)--不过,为了系统配置更为全面,我们在这里还增加了对MySQL数据库的支持。

./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs]

6.回到命令提示行下键入make命令并等到命令执行完成再次回到命令提示状态下。
7.键入make install命令。

在这个时候,编译器将会创建最终的DSO,并把它放在Apache模块目录下,同时会为你修改Apache的httpd.conf 配置文件,之后系统回到命令提示状态下等待你输入新指令。然后,你即可打开Apache的httpd.conf 配置文件做一些修正:

1. 找到有ServerAdmin字样的一行,加入你自己的电子邮件地址,如下所示:

ServerAdmin you@yourdomain.com

2. 找到以ServerName开头的一行,把后面的参数修改为实际值,比如:

ServerName localhost

3. 找到下面一段:

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

修改这些配置行以便取消PHP 4.0下的某些加在AddType之前的注释,同时你应该添加一些为PHP所使用的文件扩展名,修改后的以上各行看起来可能会是下面这样子:

# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

保存以上的配置文件,回到上级目录,键入以下命令即可启动Apache:

./bin/apachectl start

如果启动期间没有出现什么问题,你即可测试Apache和PHP的安装情况,方法是创建一个名叫phpinfo.php的文件,其中包含了以下的代码行:

<? phpinfo() ?>

保存该文件并把它放置在Apache的文档根目录下(htdocs),然后启动你的Web浏览器,在浏览器地址栏里键入http://localhost/phpinfo.php,浏览器即会以很大的篇幅显示出PHP和Apache系统的各个变量和变量值。

如果你想要重新设置PHP,你需要做的不外乎是执行make clean命令,然后执行带有新配置选项的./configure命令,接着执行make和make install。这样,Apache模块目录中就会出现一个新模块,你只要重启Apache以装载新模块。以前的许多头疼问题现在就迎刃而解了。

    
[2]PHP4中实现动态代理
    来源: 互联网  发布时间: 2013-11-30

作者:Binzy 来源:超越PHP

一、 摘要
本文简单阐述了Proxy模式及具体说明了如何在PHP4中实现动态代理, 本文只是给出了一个实现的方法的原型. 由于水平有限, 有任何意见和建议请反馈给Binzy [ Binzy at JustDN dot Com ].

二、 概述
在我们开始实现Dynamic Proxy之前, 也许我们应该先了解一下什么是Proxy和它有什么用. 下面是一篇来自博客堂加菲猫的不错的形象讲述Proxy的文章: “武当学艺与缓存代理”. Proxy模式是”GoF”介绍的23个设计模式之一, Proxy的目的是” Provide a surrogate or placeholder for another object to control access to it(为其他对象提供一种代理以控制对这个对象的访问)”. 一般常见的代理模式有: 远程代理(Remote Proxy), 虚代理(Virtual Proxy), 保护代理(Protection Proxy), 智能代理(Smart Proxy).
但是使用代理有一个坏处就是你得手动创建所需要代理类的副本(即代理类). 这意味着如果你为Image类创建一个Virtual Proxy, 那么你不得不手动创建一个与Image类有相同Method的ImageProxy类. Ok, 如果你和我一样懒, 你一定会想到动态来产生Proxy. 是的, 接下来你就会发现, 其实在PHP4中你很容易实现它.

三、 实现
由于PHP4是解释型语言, 弱类型, 且无接口. 所以在实现的时候既有方便之处又有不妥之处. 此处不拘泥于实现方法, 本文也只是实现方法之一.
本文实现的策略其实非常简单. 核心即ProxyFactory类及Clazz类, ProxyFactory负责实例化Clazz, 并赋值. 而由Clazz类负责创建并返回Proxy. 创建Proxy是以写入临时文件方式进行的.
具体请查看ProxyFactory.php和Clazz.php二个文件中的代码. 此处不再赘述.
另外在ProxyInvocationHandler.php中我们定义了一个ProxyInvocationHandler类.

四、 示例
我们现在有一个ReadFileClass类, 该类继承自IReadFileClass, 由于PHP4没有接口, 所以此处接口算是模拟的, 事实上在PHP4中不使用实现接口也是可行的J. 二个类的具体内容请见清单一和清单二.

清单一
class IReadFileClass
{
function ReadMyFile() {}
}

 

清单二
class ReadFileClass extends IReadFileClass
{
function ReadMyFile()
{

$fp = fopen('test.txt', "r");
$data = fread($fp, filesize('test.txt'));
fclose($fp);
return $data;
}
}

 

OK, 我们现在要加入验证用户的功能, 即为ReadFileClass中的方法加入保护控制. 如果采用手动创建代理, 那么你可以继承ReadFileClass或者实现IReadFileClass, 并加入保护代码(其实在PHP4中甚为自由, 因为除了基本类型外都是object-_-). 不过我们现在试试用刚才实现的动态代理来创建Proxy.

请看清单三的ReadFileClassProxy的代码, 注意该类继承自ProxyInvocationHandler类.

清单三
require_once('ProxyFactory.php');
require_once('ProxyInvocationHandler.php');
require_once('Auth.php');

class ReadFileClassProxy extends ProxyInvocationHandler
{

var $object;

function ReadFileClassProxy(&$obj)
{
$this->object = &$obj;
}

//
function NewInstance(&$obj)
{
$proxyFactory = ProxyFactoryInstance();
return $proxyFactory->create(new ReadFileClassProxy(&$obj),
get_parent_class(&$obj));
}

// $proxy is not used here, but it is useful.
function Invoke(&$proxy, $method, $parameters)
{
$uname = 'Binzy';
//$uname = 'Jasmin';
if (Auth::CheckAuth($uname))
{
Return parent::Invoke(&$proxy, $method, $parameters);
}
else
{
//
return 'No Permission!';
}
}
}

 

Auth类是一个进行权限验证的类, 此处我们只是简单的查看传入的UserName, 如果是Binzy, 那么自然是可以看秘密的J, 如果是Jasmin, 那么HoHo, 没得看, 给Binzy点空间嘛.:D 详见清单四.

清单四
class Auth
{
function Auth()
{
}
// bool
//
function CheckAuth($username)
{
if ($username == 'Binzy')
{
return true;
}
return false;
}
}


Ok, 下面我们来使用我们创建的代理. 请见清单五.

清单五
require_once('ReadFileClass.php');
require_once('ReadFileClassProxy.php');

$proxy = ReadFileClassProxy::NewInstance(new ReadFileClass());
print $proxy->ReadMyFile();

 

结果如下:
如果是Binzy, 那么自然可以知道那个秘密.

如果是Jasmin, 这个秘密当然不能让她知道.

五、 总结
代理是一个非常有用的模式. PHP4虽然并不是真正的Object-Oriented, 但仍然可以实现你想实现的设计. 写本文的目的有很大部分是希望国内PHP开发者不要再拘泥于现在的开发现状, 开发出更好的PHP软件. 而不是一堆Script的堆积.

 


    
[3]phpmyadmin操作流程
    来源: 互联网  发布时间: 2013-11-30

phpmyadmin是用来远程连接MySQL数据库的客户端软件,用户可以参考如下步
骤来配置phpmyadmin软件: 

请您将phpmyadmin.rar文件下载到您的本地; 

使用winrar将该文件解压,生成一个phpmyadmin的目录; 

请客户使用本地主机上的记事本等软件,编辑phpmyadmin目录下的文件config.inc.php(添加客户数据库链接信息),修改如下几项设置:
$cfgServers[1]['host'] = 'localhost'; (系统默认主机名为‘localhost
不需要修改) 
$cfgServers[1]['user'] = '数据库管理员名';
$cfgServers[1]['password'] = '密码';
$cfgServers[1]['only_db'] = '数据库(数据库管理员名_db)';
修改完成后,保存config.inc.php文件; 

修改配置文件后,将phpmyadmin目录及其目录下的所有文件,通过ftp上传到客户
网站的目录下;(最好略为修改一下名字,免得别人随便一打就可修改你的数据了) 

在浏览器中键入‘http://您的域名/phpmyadmin'即可管理和创建客户的MySQL
数据库。

使用PHPMYADMIN管理MYSQL数据库 
1、在您创建完您的数据库以后(或是服务商给你的数据库名),点击选中,然后按“管理此数据库”后,会进入该数据库的web管理界面,
可以创建table,管理内容等;


2、双击您的数据库,数据库中的数据表将显示出来,同时,在屏幕的右半部分将显示每一个数据表的操作:
3、可以根据右半部分的提示对每个表进行操作;

浏览:可以显示数据表中的所有记录;
选择:是根据条件显示数据表中的记录,在这里可以输入一定的查询条件,系统按照您输入的查询条件,
显示相应的记录;
插入:是增加一条记录;
属性:可以改变数据表中每个字段的属性,可以增加索引等操作;
丢弃:是删除本数据表,注意删除后不可以进行恢复,不要轻易进行删除操作;
清空:是指删除数据表中的所有记录

在下面指定的数据库中运行 SQL 语句: 

是指输入标准的SQL语句,可以根据您的SQL语句,进行操作;也可以选择您本地的SQL语句文件,然后点
击“开始”按钮,进行操作;


4、查看数据库的结构和摘要信息中有四种选择
1)只选择结构:是指不包含数据,只是数据表的结构,在屏幕上显示
2)结构和数据:是指包含数据表的结构与数据内容,
3)发送:是只将系统的内容输出到一个文件中。


5、建立一个新的数据表:
名字:是指新建立的数据表的名称
字段:是指新建立的数据表包含的字段数量

点击“开始”按钮,进入新的界面,输入每一个字段的名称及类型,输入完毕后点击“保存”之后系统会
自动返回上一层界面;

6、丢弃数据库:是指删除本数据库,请不要随意进行操作,以免发生问题;


7、上面我们讲述了对数据库操作,下面我们就对一个数据库中的一个数据表进行操作讲述PhpAdmin的作用;


8、双击数据库中的一个数据表,在屏幕的右半部分会显示本数据表的结构;


9、页面显示此数据表的属性,在操作一栏中有:
1)改变:是指改变本字段的名称
2)丢弃:是指删除本字段
3)键名:是指是否将此字段更改为主键
4)索引:是指将按照本字段索引数据记录
5)唯一:本字段的内容在数据表中是唯一的,没有重复记录;


10、浏览:是指显示记录;选择:是指输入查询条件,按照您的查询条件查询记录;插入:增加一个记录;


11、从文本文件中读取数据:是指将本地的文本文件导入到本数据表中,关于文本文件的格式您可以是空格
或是分号等;


12、查看数据表的结构信息:可以将数据表的结构或结构数据记录等发送到屏幕或是一个标准的文件中,方
便您进行数据备份;


13、将数据表更改名称:是将本数据表更改为新的数据表名;


14、复制数据表:是指建立一个与本数据表一样的数据表。

关于vbb论坛数据的备份和恢复问题!!! 
我自己使用的时候,原来不会,所以遇到和年多问题,现在自己终于会了,写个说明出来,给你们分享我的心得!
1,你要会使用Myphpadmin,他是一个很好的工具,一般空间支持mysql的都有给你装上的,这样你可以直接使用,他的安装和使用可以参照这里:
http://www.im286.com/showthread.php?s=&threadid=46001

还有可以到聚吧看下。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VBB是一款非常优秀的PHP+MYSQL论坛,落伍者论坛自建立至今一直是使用VBB.但对于大部分用户来说,MYSQL的备份是比较麻烦的问题,因为大部分空间商不会提供数据库远程连接的权限,同时因PHP程序的30秒运行限制,使得一个稍大的MYSQL库备份就成了非常麻烦的问题.鱼现就落伍者论坛的数据备份经验,用PHPMYADMIN为例讲述一下MYSQL数据的备份.

以下内容鱼均基于ztsky汉化VBB 2.20和phpmyadmin 2.26版本讲述
ztsky汉化的vbb可到 http://www.chinavbb.com 下载
phpmyadmin可由 http://sourceforge.net/project/show...elease_id=85832 下载

VBB 2.29一共有access, adminlog, adminutil, announcement, attachment, avatar, bbcode, calendar_events, customavatar, forum, forumpermission, icon, moderator, poll, pollvote, post, privatemessage, profilefield, replacement, replacementset, search, searchindex, session, setting, settinggroup, smilie, style, subscribeforum, subscribethread, template, templateset, thread, threadrate, user, useractivation, userfield, usergroup, usertitle, word 43个表.

其中相对重要的是
post 和 thread 表,用于保存论坛的帖子
poll和pollvote 表,用于保存论坛的投票部分-- 一般不备份
privatemessage 表,用于保存用户间的私语 ---一般不备份
user 开头的所有表,用于保存论坛的注册用户相关信息 -----有几个的,都要一起弄下来
fourm 是保存论坛分类的,没有他,你的分类是不完整的,这样也要一起备份。


备份的时候你只要把上面的几个重要的备下来就好了,
下面,我们 来还原论坛数据。

进入myphpadmin,把上面的备份下来的数据还原就好了,

注意:你在还原的数据里有几个表,那么你必须先把存在的表给删除,丢弃了,要不会出错的,比如你把user的几个数据一起备在一个zip文件里,那么还原要把那几个一起删除的,这样才好! 

上面的是我自己在管理的时候总结的经验,好的话请多支持!!也请提出意见和建议 ! 

备份论坛数据还有一个办法是直接在后台备份下来,其实也是一样的!!!

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

博客 iis7站长之家