崩溃了,一天编译了4此,发现到 can't open file: ext/opcache/.libs/opcache.a 这里就挂了,为什么呢?
应该是homebrew的php5.5编译有bug,最后试了下用--disable-opcache去掉opcache模块。安装完成,使用pecl install ZendOpcache-7.0.3
单独安装opcache模块。
成功搞定mac下brew安装php5.5.17
enjoy it!
崩溃了,一天编译了4此,发现到 can't open file: ext/opcache/.libs/opcache.a 这里就挂了,为什么呢?
应该是homebrew的php5.5编译有bug,最后试了下用--disable-opcache去掉opcache模块。安装完成,使用pecl install ZendOpcache-7.0.3
单独安装opcache模块。
成功搞定mac下brew安装php5.5.17
enjoy it!
前几天踩了一个php的坑,在写函数的时候添加了一个function_exists判断函数是否已经定义,
结果爆出了函数未定义的错误,经过分析发现函数定义我放到文件最后面了,将这块代码提到最前面就没问题,
function_exists判断是一个php语句,只有执行到这里的时候里面的函数才会被解析,
哈哈,一个不错得坑
dll的下载地址为:https://github.com/mongodb/mongo-php-driver/downloads 支持php5.2,php5.3,php5.4三个版本的。 最新版本是1.3.2RC1
玩的开心!!!
html抓取的时候经常会出现html代码错乱问题,怎么修复呢?这就需要PHPtidy这个利器了。一般php会默认带的。
具体用法就不多说了。直接贴代码:
/**
* 清理html并纠错
*/
function tidyHtml($html) {
$b = mb_detect_encoding($html);
if($b != 'UTF-8'){
$html = mb_convert_encoding($html, 'UTF-8');
}
$tidy = new tidy;
$tidy->parseString($html,array(),'UTF8');
$tidy->cleanRepair();
$txt = $tidy->html()->value;
preg_match_all('/\
(.*)\<\/body\>/msi',$txt,$ret);php解析xml到php数组是个问题,不太好搞。看了下往上经典的处理方式就是
$b = json_decode(json_encode((array)$xml),true);
这个方式有个问题就是<![CDATA[会被处理为空得数据
不得已自己写了一个函数处理这个问题
function xml2Array($xml) {
$arr = null;
if($xml->attributes() ) {
foreach($xml->attributes() as $k=>$v) {
$arr['@a'][$k]= $v->__toString();
}
}
/*
if($xml->getName() == 'description') {
var_dump($xml);
var_dump($xml->count());exit;
}
*/
if($xml->count()) {
foreach($xml as $v) {
$va = $v->getName();
if($xml->count() > 0){
$va = $v->getName();
if(count($xml->$va) > 1) {
$arr[$v->getName()][]= xml2Array($v);
} else {
$arr[$v->getName()] = xml2Array($v);
}
} else {
$arr[$v->getName()] = xml2Array($v);
}
}
} else {
if($arr['@a']) {
$arr['_v'] = $xml->__toString();
} else {
$arr = $xml->__toString();
}
}
return $arr;
}