Blog

19 search results for:

7

PHP.ini 性能优化

/ in Blog / by jackson
ctrl+f查找:disable_functions 找到后在=后面添加 (这里都是禁止在php里面执行的函数)代码: 复制内容到剪贴板 exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink, symlink,link,leak,fsockopen,proc_open,popepassthru,chroot,scandir, chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,popen 上面内容请放到一行。因为保持帖子的整体效果作了换行 一般后台只用加: 复制内容到剪贴板 disable_functions = system,passthru,shell_exec,com,exec,shell 查找:display_errors 如果是On的话改成Off 查找:magic_quotes_gpc 如果是Off的话改成On 查找:register_globals 如果是On的话改成Off 查找:open_basedir 后面增加 /www/:/tmp/ 这里是限制php可以访问的目录,后面一定要加上/,否则如果有/wwwabcd这个目录也会被访问得到 多个目录用英文:分隔。如果不添加/tmp/的话Discuz!的上传功能就无法使用 注意:以上内容在php.ini的开头会有相关设置的提示,请按ctrl+x查找下一个,不要直接在上面修改 —————————— 对php.ini优化 GD库的支持 ;extension=php_gd2.dll 将前面的冒号去掉,…
8

PHP Socket 编程

/ in Blog / by jackson
socket Socket协议的形象描述 1. 一个是发动机(Socket),提供了网络通信的能力 一个是轿车(Http),提供了具体的方式 2. socket的英文原义是“孔”或“插座”。在这里作为4BDS UNIX的进程通信机制,取后一种意义。socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程,区号是它的 网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于 申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还 要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连 接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一 方挂起电话机相当于关闭socket,撤消连接。 在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,这也与 socket机制非常相似。socket利用网间网通信设施实现进程通信,但它对通信设施的细节毫不关心,只要通信设施能提供足够的通信能力,它就满足 了。 至此,我们对socket进行了直观的描述。抽象出来,socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没 有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。在网间网内部,每一个socket用一个半相关描述 : (协议,本地地址,本地端口) 一个完整的socket有一个本地唯一的socket号,由操作系统分配。 最重要的是,socket 是面向客户 / 服务器模型而设计的,针对客户和服务器程序提供不同的socket 系统调用。客户随机申请一个socket (相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个socket号;服务器拥有全局公认的 socket ,任何客户都可以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。 socket利用客户…
9

Ecshop功能改造范例

/ in Blog / by jackson
一. 看图: a) 二. 当管理员选中此图片后,将其图片的ID,设计者的ID,设计者的Name传入SESSION中暂时储存,同时并发增加商品表单,当添加商品成功后返回的商品ID,一并存入”ecs_downpic”表中储存,方便处理成衣商品与图片和设计者的一对一关系. 三. 具体的实现示例: a) 下单成衣 i. Href地址中的参数,第一个传入的action,第二个传了一个id值过去.方便处理. b) 在goods.php中,我们得加入的实现代码. i. elseif ($_REQUEST ['act'] == 'down_goods') 1. 首先知道模板点击之后,处理代码的地方,实现代码的地方在这个if语块中. ii. 得定义一个处理结果的连接. 1. $link [] = array ('href' =>…
10

WordPress插件的结构

/ in Blog / by jackson
开发一个WordPress插件的一个更重要的方面,是你怎样设计它的结构。本文将研究几个关于设计插件结构的提示,以帮助你组织你的插件资源,避 免名字冲突。每一个插件作者的插件的结构都不尽相同,所以这些提示只是我的个人偏好。我将首先简单地描述一下一个WordPress插件是怎样工作的,然 后介绍一个插件的结构。 WordPress插件怎样工作 在将一个插件放入到wp-content/plugins/目录后,插件应该自动的处于可以安装的状态。 当一个插件被“启用”,等同于告知WordPress将你的代码装载到“每”个页面(包括管理页面)。这也就是为什么当你启用了很多的插件的时候,你的WordPress可能非常慢的原因,这是由它所引入的代码的量决定的。 从你的插件被启用,WordPress自动将你的代码装载后开始,你可以利用WordPress插件API。你还可以使用WordPress模板标签或者创建你自己的函数。 如果你计划开发一个改变文章内容或者评论的插件,我建议你读一下WordPress loop。WordPress loop是一个显示你的文章的循环。有些模板标签在这个循环外面无法工作,所以,你准确地知道你代码在哪里执行是非常必要的。你可通过使用Actions和Filters来控制这一点,这将会在将来的文章中解释。 文件夹结构 所有的WordPress插件都会被安装到wp-content/plugins目录中。有些插件作者的插件只包含一个文件,但是我推荐你总是创建一个文件夹来保存你的插件。 典型地,我会把我的插件放在如下的目录结构中: 1. 插件文件夹名称(你插件的名字,没有空格或者特殊字符) 1) 插件PHP文件 2) js文件夹(存放javascript文件) 3) css文件夹(存放样式表文件) 4) php文件夹(存放其他的PHP文件) 举例来说,这是一个我创建的样例结构: 1. devlounge-plugin-series 1) devlounge-plugin-series.php 2) js…
11

wordpress制作一个简单的插件

/ in Blog / by jackson
说明 这是一个极为简单的插件,实现一个极为简单功能,旨在记录自己的wordpress插件开发学习过程,并与他人交流。 插件功能 在日志中显示版本信息。写文章时,如果此文章为原创,则可以插入字符,在文章显示时将这串字符替换为版本信息。 具体实现 1. 建立目录或文件 按照wordpress插件开发规则,为插件建立一个目录,名称随便,MyCopyright。或不建立目录,只创建一个php文件即可 在MyCopyright目录下创建一个php文件。这个文件包含了插件的具体实现代码。此例中取名为myCopyright.php 2. 编辑插件信息。 在myCopyright.php文件的开始插入代码模块.(具体代码在下方会总体发布) 3. 在插件管理页面中显示你的插件菜单 即让你的插件在启用之后能在后台的插件管理页面中显示出来。 函数名尽量不要与别人重复 cutefool_add_options_page函数,此处调用的是wordpress模板函数 add_options_page(page_title, menu_title,access_level/capability, file, [function]); 参数作用一目了然。对照本例,即在后台管理加入一个"MyCopyright Config"的menu,页面名称为"MyCopyright",显示的页面为'myCopyright.php',在此页面中调用的函数为 'cutefool_myCopyright_mainpage'。而它的对于权限为8的用户是可见的。 关于用户权限,请参照wordpress官方文档的介绍:User level 由此可见,我们必须有编写好的cutefool_myCopyright_mainpage函数,才能在插件管理页面中显示具体的内容来。(待确认:如果函数名为空呢?) 4. 编写管理页面函数 即本例中的cutefool_myCopyright_mainpage函数。按步骤三的设置,显示插件管理页面时即调用此函数。…
12

WordPress:插件开发API(Plugin API)

/ in Blog / by jackson
Plugin API 介绍 本文当主要介绍WordPress插件开发者可以使用的API Hook,以及如何使用它们。 本文假设您已经阅读了《Writing a Plugin》(这篇文章概览了如何写一个插件)。本文主要介绍API Hook,也称作Filter和Action,WordPress使用这些函数来使您的插件起作用。 注意:本文的内容适用于WordPress1.2+。 Hook,Action和Filter Hook是WordPress提供的一种机制,帮助您将您的插件加入到WordPress中;也即,在您的插件中,通过调用一些系统函数,使得您的插件可以运作起来。一共有两种Hook: 1) Action:Action是WordPress内核在运行到某个特定的点的,或者某个特定的事件发生的时候执行的。您可以通过使用Action API让您的插件中的一个或者多个函数在这些特定的点执行。 2) Filter:Filter是WordPress在将一段文本加入到数据库,或者发送给浏览器之前处理不同种类的文本用的。您的插件可以通过使用Filter API,让一个或者多个函数在这些时刻运行,以处理特定类型的文本。 有的时候,您可以使用Action和Filter达到相同的目的。比如说,您希望你的插件可以更改一段日志的文本,您可能会往publish_post中添加一个Action函数(这段文字在被加入到数据库之前被修改了),或者往 the_content中添加一个Filter函数(这段文字在被发送给浏览器显示之前,被更改了)。 Action Action由WordPress中发生的一些特定的事件所触发,比如发布一篇日志,更改主题,或者在管理面板显示一个页面。您的插件可以通过执行一个PHP函数来响应事件,实现以下几个目的: 1) 修改数据库数据 2) 发送Email信息 3) 修改将要在浏览器上呈现的内容(管理员看到的或者访客看到的) 要达到上述的目的,需要遵循的步骤为(下文有详细的描述): 1)…

Need Translation Service?

Please enter your personal details and we will contact you shortly.