标签归档:PHP

IIS 通过 web.config 添加 MIME 类型

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".svg" />
            <remove fileExtension=".woff" />
            <remove fileExtension=".woff2" />
            <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
            <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
            <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
        </staticContent>
    </system.webServer>
</configuration>

相关:

/*
 * PHP TRIM LTRIM RTRIM 是个坑 大坑
*/

// 看代码

$str = 'abc';
echo 'trim <br>';
var_dump(trim($str, 'bad'));

$str = 'CAT_';
echo 'trim <br>';
var_dump(trim($str, 'CATE_'));

$str = 'abc';
echo 'trim <br>';
var_dump(trim($str, 'ac'));

你认为返回是什么?

继续阅读 PHP TRIM 是个坑 大坑

Apache 性能优化几则

有点标题党了,称不上是性能优化,只能算是在日常工作遇到的某些问题及解决方案;目的旨在提升网站运行效率。
本文涉及Apache 日志处理、查看服务器运行状态、服务器信息、及访问控制(只是皮毛)。

如果你也遇到此类问题,我想本文会给你些参考,你可以从这些方面着手处理。

近日公司的网站首页打开超慢,在15秒左右,晕死,不知道怎么回事……没办法的事,只能硬着头皮来处理这事。(注:公司是网站、数据库分离的。)

继续阅读 Apache 性能优化几则

(留意,本文引自fzzwakePHP文件缓存效率测试一文,并对测试代码做了修改。)

PHP文件缓存内容保存格式主要有三种:

  • 变量 var_export 格式化成PHP正常的赋值书写格式,用的时候直接include文件
  • 变量 serialize 序列化之后保存,用的时候反序列化
  • 变量 json_encode格式化之后保存,用的时候json_decode

一直以来,我都以为第一种效率最高,因为那是PHP脚本解释器解析PHP脚本的格式,原生的,应该最快,至少读取缓存的效率应该是最高的,可是今天做了个测试,令我大跌眼镜!原来 serialize序列化效率才是最高的,不论是读还是写!

继续阅读 PHP文件缓存效率测试

介绍
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目); 当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。

继续阅读 Windows PHP Memcached 配置

实际开发中,遇到一个问题,像下面的代码:

/* 获取明细列表 */
public function getMoneyList($whereArr, $offset=0, $perpage=10, $order='', $orderVal='') {
    $result = ARRAY();
    $this->CI->db->select('id,money,add_time,user_id,user_account,category_id,note,score_id,update_time');
    if (!empty($order) && !empty($orderVal) ) $this->CI->db->order_by($order, $orderVal);
    if (!empty($whereArr)) $this->CI->db->where($whereArr);
    if (!empty($perpage)) $this->CI->db->limit($perpage, $offset);
    $query = $this->CI->db->get('om_detail');
    if ($query->num_rows() == 0) return $result;

    foreach ($query->result_array() as $row)
        $result[$row['id']] = $row;

    return $result;
}

这是一个获取明细列表的方法,只要传递条件数组、偏移量、分页、及排序和值就可以将所需要的明细返回过来。

继续阅读 CI数据库操作 如何写where 中的 where_in