javalzbin

javalzbin

多看,多想,多动手。

  • 财富值6926
  • 威望值150
  • 总积分8796

个人信息

  • 你把www.demo.com所指向的目录配置到advanced目录下,
    那么访问后台:http://www.demo.com/backend/web/index.php
    访问到前台:http://www.demo.com/frontend/web/index.php

    但是这样,url就比较长了,所以,你最好分配两个域名,比如后台域名为:backend.demo.com,然后这个域名目录直接指向到advanced/backend/web目录下,那么你访问的时候:http://backend.demo.com/index.php 就访问到后台

    前台配置也类型,比如域名为frontend.demo.com,然后这个域名目录直接指向到advanced/frontend/web目录下,那么你访问的时候:http://frontend.demo.com/index.php 就访问到前台

    生产环境中,这种方式用的也不少,一般把域名配置到公司首页,比如:www.demo.com,然后公司的管理后台用二级域名。
    当然,还有其他的解决方案。看你习惯配置成哪种。

    如果是本地环境,可以通过配置hosts文件,也可以通过端口来区分。

  • 如果是nginx,那么你配置多个server即可,例如:

    server {
            listen       80;
    	#当客户端使用www.bb.com域名过来时,就会走这个server的配置
            server_name  www.bb.com;
            		
    	......
            ......
    }
    
    server {
            listen       80;
    	#当客户端使用tt.bb.com域名过来时,就会走这个server的配置
            server_name  tt.bb.com;
            		
    	......
            ......
    }
    

    你需要把两个域名指向到这台机器上,然后,不同域名,他会访问到不同的server配置
    其次,如果你只是域名不一样,配置完全一样,你可以只配置一个server,只要在server_name指定两个域名即可

    server {
            listen       80;
    	#当客户端使用www.bb.com或者tt.bb.com;域名过来时,都走这个server的配置
            server_name  www.bb.com tt.bb.com;
    	
           ......
           ......
            
    }
    

    当然,apache或者其他服务器也是有类似的功能,只是配置不同而已。

  • 2016-03-26 已签到
    连续签到33天,获得了20个金钱
  • 2016-03-25 已签到
    连续签到32天,获得了20个金钱
  • 在对应的action中

    $view=Yii::$app->getView();
    $view->params['menu']='这个布局可以用,对应视图也可以用';
    

    在对应的视图和布局中,都可以这样获得:

    echo $this->params['menu'];
    
  • 回复了 的回答

    不批量赋值可以保存吧。。。

    单个值提交确实没试过,也没有细看源码。刚开始测试登录的时候,发现$rememberMe一直接收到。所以才发现必须要在rules中设定。
    个人认为,yii这么做,是为了安全,他可能认为不验证的参数都是不安全的参数,最可怕的当然就是sql注入,如果不进行验证,恶意的客户端行为极有可能做到这一点

  • 确实会保存不进去,一般不需要验证的,都加一个['time', 'safe'], 告诉yii这个属性是安全的,不需要验证

  • 2016-03-24 已签到
    连续签到31天,获得了20个金钱
  • 回复了 的说说
    左侧的在线会员列表,是按注册时间排序的,感谢出现在左侧列表的朋友们!
    应该按活跃时间……
  • 这个是错误属于oracle的错误,实际上,你的长度确实超过了其能保存的长度
    你的数据库字符集可能是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过4000的当做LONG型处理,所以报错。

    你可以这样测试这个问题:
    你说,插入测试数据11122223333不长的不会报错,内容长了之后会报错,你插入,4000/2-1的长度的字符串,看看会不会报错,然后,看看4000/2的字符串长度会不会报错,如果报错,再看看4000/3-1长度的字符串会不会报错,再看看4000/3的长度会不会报错

    还有就是,明确指定绑定VARCHAR处理:参考php的文档:
    http://php.net/manual/zh/function.oci-bind-by-name.php#92334

    //To avoid this error make sure you specify lengths when binding varchars e.g. 
    <?php
    oci_bind_by_name($stmt,':string',$string, 256);
    ?>
    
    //And for numerics use the default length (-1) but tell oracle its an integer e.g. 
    <?php
    oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
    ?>
    

    先尝试下吧

副总裁 等级规则
8796/10000
资料完整度
40/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

6

Ta的访客

20