Win10下,安装PHP5.5性能分析工具:xhprof
PHP 5.4 及以上可以用 session_status() 的返回值来判断,PHP 5.4 以下用 session_id() 是否有值来判断,当然,PHP 5.4 也可以用这种方法判断,参考代码如下:
/** * 会话是否已开启 * * @return bool */ function session_is_started() { if (php_sapi_name() !== 'cli') { if (version_compare(phpversion(), '5.4.0', '>=')) { return session_status() === PHP_SESSION_ACTIVE ? true : false; } else { return session_id() === '' ? false : true; } } return false; }
当本地 curl 需要访问 https 时,出现 SSL certificate: unable to get local issuer certificate 错误信息
// 变量: $s1 = "dotcoo world!"; $s2 = "dotcoo"; $s3 = "hello dotcoo"; // PHP判断字符串结尾: var_dump(substr_compare($s3, $s2, -strlen($s2)) === 0);
从功能上讲,dirname(__FILE__) 和 __DIR__ 的效果是一样的,即 获取当前文件所在的文件夹的“绝对路径”
推荐使用简洁版的:__DIR__
json_encode($value, $options)
其中有2个常用的参数:
- JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字为 256)
- JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字为 64)
修改php配置文件(php.ini)中的session.gc_maxlifetime。
概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这些session过期失效。
在php5.0及以上版本中提供了json_encode, json_decode方法。在使用json_encode变量的时候,如果变量里含有中文的话,会将中文转为unicode格式。所以在想是否可以通过 json_decode将unicode转为中文呢?实际测试发现是可以的,但对单一的字符串发现有些问题。
对于简单的字符串,发现有时候使用json_decode转的化,结果直接为空了。但将字符串替换为数组然后在转就可以了。下面就有了下面封装的代 码。
function unicode2utf8($str) { if (!$str) return $str; $decode = json_decode($str); if ($decode) return $decode; $str = '["' . $str . '"]'; $decode = json_decode($str); if (count($decode) == 1) { return $decode[0]; } return $str; }
使用这个方法可以很好的将unicode编码转为utf-8编码。
PHP 分割 和 合并 大文件
问题描述:
在 Windows 下,用 PHP 去执行命令行工具,结果正常,但发布到 Linux 服务器,报 127 错误。