simple_html_dom.php 一款像jquery一样好用的html/xml 分析利器
文档在:
http://simplehtmldom.sourceforge.net/
API
Category Archives: PHP杂症
ecshop:DEBUG_MODE在后台图片上传fckeditor的错误
因为 includes\fckeditor\editor\filemanager\connectors\php\upload.php 没有执行 init.php 所以 DEBUG_MODE变量没赋值,所以
导致 http://域名/includes/fckeditor/editor/filemanager/connectors/php/upload.php?Type=ImageImage 出错
显示为 lib_base.php 的read_static_cache 和 write_static_cache 函数为定义DEBUG_MODE 常量
所以保险的办法是在 upload.php 第一行加入
define(‘DEBUG_MODE’, 0);
这个错误的表现行为是: 上传图片可以正常上传,但是进度条图片一直滚动, 原因就是输出了错误提示,导致
再次中文解释paypal IPN
参见地址
http://paypal.ebay.cn/integrationcenter/list__resource_2.html
启用IPN有两种方法:
一种是在您的PayPal账户里进行全局设置
另一种是在每笔交易的付款按钮中通过定义变量notify_url来进行设定
ecshop的ucenter同步登陆uc.php 一点错误勘误
在ecshop的会员整合ucenter的set_cookie函数有问题
文件在 /api/uc.php 搜索 set_cookie
function set_cookie($user_id=”, $user_name = ”, $email = ”)
{
if (empty($user_id))
{
/* 摧毁cookie */
$time = time() – 3600;
setcookie(‘ECS[user_id]‘, ”, $time);//这里有问题
setcookie(‘ECS[username]‘, ”, $time);//这里有问题
setcookie(‘ECS[email]‘, ”, $time);//这里有问题
}
else
{
/* 设置cookie */
$time = time() + 3600 * 24 * 30;
setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
}
}
因为假设这样的架构
http://域名/ 是 ecshop ,http://域名/bbs/ 为论坛dzX2, 那么,在ec登陆后,dzX2 点退出,
会发送一个javascript申请到 /api/uc.php的 logout请求 (
严格的应该是
setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
还有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php
如图两部分


另外还要看 这一篇
http://www.phpsir.com/ucenter-sync.html
关于utf8 bom 的w3c文章
http://www.w3.org/International/questions/qa-utf8-bom
编译php支持jpeg的一点经验,先后居然有关
./configure –with-gd –with-jpeg-dir=/usr/lib
这个居然不起作用
那么起作用的是
./configure –with-jpeg-dir=/usr/lib –with-gd
在此谨记!
phpwind 的一个小错误导致cookie失效的解决,表象是无法注册登录
一个phpwind 8.0 utf8 系统错误表现为无法注册登录,费老劲调试,发现 data/sql_config.php 文件由于在windows 记事本编辑后导致被自动增加了bom ,前端cookie 输出因为bom 的 原因,导致浏览器无法生成cookie,从而无法登录和注册
在editplus 另存成utf-8 无bom ,上传问题解决
参看 http://www.phpsir.com/ecshop-utf8-bom.html
总结: 要多用 linux curl 去查看文件输出
ecshop系列:后台导出程序错误,ecshop应该认错
今天一个客户给我发来ecshop后台导出出现
ERROR 1052 (23000): Column ‘brand_id’ in where clause is ambiguous
经查发现是不同表存在相同字段而在where 语句中未区分造成
测试运行语句
SELECT g.*, b.brand_name as brandname FROM `usason`.`ecs_goods` AS g LEFT JOIN `usason`.`ecs_brand` AS b ON g.brand_id = b.brand_id WHERE is_delete = 0 AND brand_id = ’17′;
修改为
SELECT g.*, b.brand_name as brandname FROM `usason`.`ecs_goods` AS g LEFT JOIN `usason`.`ecs_brand` AS b ON g.brand_id = b.brand_id WHERE is_delete = 0 AND g.brand_id = ’17′;
红色部分注意
那么就只有去查后台程序代码了
发现在admin/includes/lib_main.php 的get_where_sql($filter)的函数中出现了
$where .= isset($filter->brand_id) && $filter->brand_id > 0 ? ” AND brand_id = ‘” . $filter->brand_id . “‘” : ”;
修改为
$where .= isset($filter->brand_id) && $filter->brand_id > 0 ? ” AND g.brand_id = ‘” . $filter->brand_id . “‘” : ”;
问题解决
目前还不知道有其他副作用
好在ecshop命名还算规范
phpwind 批量上传解决一例,上传后文件列表消失,mbstring 问题
朋友网站phpwind 7.5 sp3出现批量上传文件后上传文件的列表消失,但是文件已经上传上去了,调试后发现没有写入数据库
跟踪代码在 lib/upload/mutiupload.class.php 文件的update函数中加入调试语句,确认没有写入数据库 ,
原因是 $value['name'] = pwConvert($value['name'], $db_charset, ‘utf-8′); 行有错
经调试 pwConvert 是因为 php没有启用 mbstring 造成,启用后,问题解决
ecshop系列:防止EC被挂马的一些小技巧
- admin 目录用 htaccess 保护或者限制ip访问
- ftp 密码要长点,复杂但是对自己有意义好记忆
- 凡是可写目录一概禁止 php 执行权限
