中山php|最优网络 :中山做网站 中山php建站
最优良人
Category Page for: 后端程序
在IIS中运行php,让IIS支持php配置方法
2011/09/29 at 16:20 » Comments (270)
1、将 PHP 安装为 ISAPI 模式: 在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“默认Web站点”上单击右键选择“属性”,在打开的“默认 Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP,再将可执行文件指向 php4isapi.dll 所在路径,如:C:\PHP\sapi\php4isapi.dll。 2、打开“默认 Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php,单击“浏览”将可执行文件指向 php4isapi.dll 所在路径,如:C:\PHP\sapi\php4isapi.dll,然后一路确定即可。如果还想支持诸如 .php3,.phtml 等扩展名的 PHP 文件,可以重复“添加”步骤。 3、再打开“默认 Web 站点属性”窗口的“的“文档”标签,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 ...more »mysql所有数据库引擎用法MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE
2011/09/21 at 14:50 » Comments (94)
MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: · MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。 · MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。 注释:MEMORY存储引擎正式地被确定为HEAP引擎。 · InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所 有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。 · EXAMPLE存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在 MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。 · NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。这个存储引擎当前只被Linux, Solaris, 和Mac OS X 支持。在未来的MySQL分发版中,我们想要添加其它平台对这个引擎的支持,包括Windows。 · ARCHIVE存储引擎被用来无索引地,非常小地覆盖存储的大量数据。 · CSV存储引擎把数据以逗号分隔的格式存储在文本文件中。 · BLACKHOLE存储引擎接受但不存储数据,并且检索总是返回一个空集。 · FEDERATED存储引擎把数据存在远程数据库中。在MySQL 5.1中,它只和MySQL一起工作,使用MySQL C Client API。在未来的分发版中,我们想要让它使用其它驱动器或客户端连接方法连接到另外的数据源。 当你创建一个新表的时候,你可以通过添加一个ENGINE 或TYPE 选项到CREATE TABLE语句来告诉MySQL你要创建什么类型的表: CREATE TABLE t ...more »mysql数据库引擎HEAP(MEMORY)的使用,内存表,临时表的用法
2011/09/21 at 14:47 » Comments (407)
HEAP表是访问数据速度最快的MySQL表,他使用保存在内存中的散列索引。但如果MySQL或者服务器重新启动,表中数据将会丢失. 用法:如论坛的在线人数统计,这种表的数据应该是无关紧要的,就几个简单的字段,数据也不多,记录数怎么也不会超过1000吧,但是操作是最频繁的(基本用户的每次动作都要更新这个表). 如何创建内存表? 创建内存表非常的简单,只需注明 ENGINE= MEMORY 即可: CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000; 注意: 当内存表中的数据大于max_heap_table_size设定的容量大小时,mysql会转换超出的数据存储到磁盘上,因此这是性能就大打折扣了,所 以我们还需要根据我们的实际情况调整max_heap_table_size,例如在.cnf文件中[mysqld]的下面加入: max_heap_table_size = 2048M 另外在建表语句中还可以通过MAX_ROWS来控制表的记录数。 内存表使用哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中小型数据库,但是使用上受到一些限制。 1、heap对所有用户的连接是可见的,这使得它非常适合做缓存。 2、仅适合使用的场合。heap不允许使用xxxTEXT和xxxBLOB数据类型;只允许使用=和<=>操作符来搜索记录 (不允许<、>、<=或>=);不支持auto_increment;只允许对非空数据列进行 索引(not null)。 注:操作符 “<=>” 说明:NULL-safe equal.这个操作符和“=”操作符执行相同的比较操作,不过在两个操作码均为NULL时,其所得值为1而不为NULL,而当一个操作码为NULL时,其所得值为0而不为NULL。 3、一旦服务器重启,所有heap表数据丢失,但是heap表结构仍然存在,因为heap表结构是存放在实际数据库路径下的,不会自动删除。重启之后,heap将被清空,这时候对heap的查询结果都是空的。 4、如果heap是复制的某数据表,则复制之后所有主键、索引、自增等格式将不复存在,需要重新添加主键和索引,如果需要的话。 5、对于重启造成的数据丢失,有以下的解决办法: a、在任何查询之前,执行一次简单的查询,判断heap表是否存在数据,如果不存在,则把数据重新写入,或者DROP表重新复制某张表。这需要多做一次查询。不过可以写成include文件,在需要用该heap表的页面随时调用,比较方便。 b、对于需要该heap表的页面,在该页面第一次且仅在第一次查询该表时,对数据集结果进行判断,如果结果为空,则需要重新写入数据。这样可以节省一次查询。 c、更好的办法是在mysql每次重新启动时自动写入数据到heap,但是需要配置服务器,过程比较复杂,通用性受到限制。 6、一些预期可能用到的sql语句 //如果表存在,则删除 DROP TABLE IF EXISTS `abc`; //复制整张表xyz为heap表abc(包含所有数据) CREATE TABLE ...more »dede 在列表页和文章页调用全站最新文章
2011/09/12 at 14:20 » Comments (452)
dede在首页调用全站最新文章是这样实现的 {dede:arclist titlelen=42 row=6 } <li><a href="[field:arcurl/]">[field:title/]</a> <p>[field:description function='cn_substr(@me,80)'/]...</p> </li> ...more »Smarty模版中,数组的键名是一个变量的值,如何显示该键名对应的值
2011/09/08 at 16:45 » Comments (210)
题目有点绕口,大概的意思是 php已经赋给模版一个数组,数组的信息如下: $config= array( 1=>'中山', 2=>'石岐' ); 数据库存储地区的字段记录的是该数组的键名,如1,现在要在模版上显示:中山。 如果这样写会报错: {{$config.$row.region}} 模版上的正确的写法是:{{$config[$row.region]}} 今天遇到的问题还更复杂一点,数据库字段存储的是一些配置的序列化,所以在调取地区信息时还需要进行反序列化处理,中间必须有一个赋值的过程: {{assign var=param value=$l.params|unserialize}} 然后$param.region就可以取得1这个值了 more »FleaPHP如何定义表关联以及关联的简写
2011/09/06 at 18:06 » Comments (312)
定义从属关联 1、外键放置在主表中; 2、保存时不会自动更新关联表的记录; 3、删除时也不会更新关联表的记录。 示例: 多个文章都属于某一个栏目。 格式一: * class Articles * { * var $belongsTo = array( * array( * ...more »FleaPHP数据表关联设置
2011/09/06 at 16:13 » Comments (365)
目前,FleaPHP支持四种类型的数据表关联,分别是: HAS_ONE: 当前表的每一条记录都拥有最多一条(0–1)关联记录 HAS_MANY: 当前表的每一条记录都拥有多条(0-n)关联记录 MANY_TO_MANY: 当前表的每一条记录都和其他表的多条(0-n)记录关联 BELONGS_TO: 当前表的每一条记录都属于另一个表的某条记录 关联中必须设置的属性为: ‘name’, // 关联的名字(如:hasOne、hasMany) ‘tableClass’, ...more »FleaPHP的数据库查询条件汇总解析
2011/09/06 at 16:10 » Comments (274)
本文将全面分析FleaPHP的数据库查询条件,包含字符串格式,数组格式,混合格式,in查询,or查询,关联查询等常用查询。 FleaPHP的数据库查询条件$conditions 参数可以是整数、字符串和数组三种类型: 1.如果 $conditions 参数是一个整数,则假定该整数为主键字段值。 view plaincopy to clipboardprint? // 查询主键字段值为1的记录 $user = $tableUsers->find(1); 2.如果 $conditions 参数是一个字符串,则该字符串将直接作为查询条件,这种方式可以支持最灵活的查询条件。 例如: view plaincopy to clipboardprint? $conditions = 'id < 3' $user = $tableUsers->find($conditions); //生成的where字句为“WHERE id < 3” 3.1.如果 $conditions 参数是一个数组,且指定了键名和值,则查询条件中字段名为键名,字段值等于键值。例如: // 查询id字段值为3的记录 $conditions = array( 'id' ...more »wordpress半角引号变全角的解决方法
2011/09/01 at 09:34 » Comments (17)
解决WordPress半角引号自动转换为全角引号问题有许多种方法,有插件,有修改源码,有修改主题,下面介绍两种: 一、通过修改主题functions.php实现(推荐使用): 在主题functions.php文件中加入以下代码: /*禁用半角引号自动转换为全角引号*/ remove_filter('the_content','wptexturize'); 二、通过修改WP源文件实现: 注释掉 wp-includes\formatting.php文件的下列两行代码即可 $curl = str_replace($static_characters, $static_replacements, $curl); $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); more »dede采集的文章在栏目列表页无法显示
2011/08/26 at 23:20 » Comments (412)
利用dedecms的采集功能,大批量采集数据之后,没办法一个一个审核,所有在sql命令行运行了 update `dede_archives` set `arcrank` = 0 批量审核文章,然后运行 update `dede_archives` set `ismake` = -1 把所有文章改成动态浏览 更新首页html之后再最新更新可以看到新发布的文章,但是在栏目列表页不显示最新的数据,原来dede还有一个文章的索引表dede_arctiny,只要运行下面sql把审核状态置为0就正常了 update `dede_arctiny` set `arcrank` = 0 效果如 最优资讯中山新闻频道 more »