thinphp
Oct 4
tp5新手volist标签显示未定义变量的处理
控制器这么写
public function listdemo(){
       
        $users = [
            [
                'id'=>1,
                'username'=>' 老猫',
            ],
            [
                'id'=>2,
                'username'=>' 小猫',
            ],
            [
                'id'=>3,
                'username'=>' 大猫',
            ]
        ];
        $this->assign('users',$users);
        return $this->fetch('listdemoview');
    }

页面这么写
 <body>
<volist name="users" id="item">
{$item.id}  {$item.username}<br/>
</volist>
    </body>
然后一直报错 item标量未处理,查了好久
在这个例子中,$item总是显示未定义变量。然后查看一下手册
 <body>
{volist name="users" id="item"}
{$item.id}  {$item.username}<br/>
{/volist}      
    </body>
也没有太大不一样的,仔细一看就看出差别了。就是<>和{}两个标签的使用。用{}标签才是正确的。

why thinkphp5-var-not-define
以后写代码看手册的时候要仔细一点咯。

Tags:
Jun 3
再对ispconfig 添加php 多版本的时候,因为执行./configure 后执行make 中途离开导致会话退出,再次执行make的时候报错
libtool: link: `ext/opcache/ZendAccelerator.lo' is not a valid libtool object
常见错误:
编译安装php时报错
错误1:
安装包:php-5.6.36.tar.bz2

编译成功完成,结果在make的时候报错
libtool: link: `ext/opcache/ZendAccelerator.lo' is not a valid libtool object

解决办法:
# make distclean
重新编译,make,通过

错误2:
启动php-fpm时报错:

Starting php-fpm [22-May-2017 11:18:29] ERROR: [pool www] cannot get uid for user 'nginx'
意思是没有nginx用户,添加就好了
# useradd nginx

错误3:

配置好php和nginx之后,访问index.php时一片空白
解决办法:
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;                                          
        }
Tags: ,
Apr 29
ThinkPHP3.2模板中如何使用大U方法进行传参
how-use-pass-parameter-in-u-on-thinkphp
错误的方式:

{:U('Index/show,array('tid'=>$vo['tid']))}
{:U('Index/show',array('id'=>$vo.id))} 死活不行
 正确的方法:
<dd><span url=<{:U('Link/menu_index',array('link_typeid'=>$category['cat_id']))}>><{$category.cat_name}></span></dd> 
说明:
不要用点. 用['id'] 第二个不需要{}而且最好用['']
Tags: , ,
Oct 11
thinkphp3.2.3+uploadify 多图上传出现%EF%BB%BF的解决方法
使用uploadify的时候如果后台传的是数字开头的或者纯数字的就好在值前面加上%EF%BB%BF 导致取值错误。
解决方法:
1后台代码拼接一个分隔符 如_ 到前台再分割
$var_timea = time();
//echo json_encode($var_timea);
echo "_".$var_timea;
//$this->ajaxReturn($var_timea);

前台处理方法:
,'onUploadSuccess' : function(file, data, response) {
// 处理不可见字符
var newdata = data.split("_")[1];
$("#var_timea").val(newdata);

否则 newdata 的值就是%EF%BB%BF1476193376
在UTF 下%EF%BB%BF 是不可见的字符 后台日志url才能看到

---end
thinkphp-uploadify-EF-BB-BF
Jun 30

thinkphp5 静态业务一直没有更新的原因解决-缓存
默认的静态缓存配置cache是配置为 0 的需要更新为具体值。0表示永久缓存
目录在config.php中

// +----------------------------------------------------------------------
    // | 缓存设置
    // +----------------------------------------------------------------------

    'cache'                  => [
        // 驱动方式
        'type'   => 'File',
        // 缓存保存目录
        'path'   => CACHE_PATH,
        // 缓存前缀
        'prefix' => '',
        // 缓存有效期 0表示永久缓存
        'expire' => 60,//default 0  by itlife365    ],
thinkphp5-cache-set

分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]