卡德加

卡德加 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑

php程序员

个人动态

卡德加 发布了文章 · 1月14日

centos 上安装ftp,及 530 Login incorrect,500 OOPS: chroot错误处理

vsftp的安装

我用的是centos ,所以直接yum安装,安装需要一段时间。

[root@localhost ~]#yum check-update

如果你不想更新系统,也可以直接用以下命令安装vsftp。

[root@localhost ~]#yum -y install vsftpd

然后修改一下vsftpd的配置文件

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

不允许匿名访问

anonymous_enable=No

允许使用本地帐户进行FTP用户登录验证

local_enable=YES

使用户不能离开主目录

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES

创建chroot_list文件

/etc/vsftpd/chroot_list

直接保存就行,然后重启一下vsftpd

systemctl restart vsftpd

可以用netstat -ntlp 查看一下端口,如果有21号端口占用,就是启动成功了。
然后创建ftp创号

[root@localhost home]# useradd -d /home/testftp -g ftp -s /sbin/nologin testftp

设置一下ftp帐号密码

[root@localhost home]# passwd testftp

用Filezilla连接一下ftp服务器,发现会报 530 Login incorrect 的错误。可以修改一下pam.d下的vsftpd配置

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd

把auth required pam_shells.so 改为 auth required pam_nologin.so ,就可以解决这个问题。
再用Filezilla连一下,又报500 OOPS: chroot这个错误,这个是由于selinux引起的,关掉就行了,我用的
setenforce 0 这个命令,不用重启就可以了,当然你也可以改seliux配置文件来关掉。
然后我们再用Fillzilla连接一下服务器,发现可连上服务器了。

查看原文

赞 0 收藏 0 评论 0

卡德加 发布了文章 · 1月14日

PHP多维数组排序,用array_multisort函数对数组按指定字段排序

PHP中有一些函数可以用来对数组进行排序。

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

例如:

        $arr=['green','car','apple','book'];
        sort($arr);
        var_dump($arr);

可以得到排序结果:

array (size=4)
  0 => string 'apple' (length=5)
  1 => string 'book' (length=4)
  2 => string 'car' (length=3)
  3 => string 'green' (length=5)

但是对一个有多个字段的数组,要怎么按照指定的字段排序呢?比如下面这个数组:

        $arr=[
            [
                'age'=>50,
                'name'=>'张三'
            ],
            [
                'age'=>18,
                'name'=>'李四'
            ],
            [
                'age'=>27,
                'name'=>'王五'
            ]
        ];

我们怎么按照age或name排序呢?我们可以使用array_multisort这个函数来进行按指定字段排序。

 array_multisort(array_column($arr,'age'),SORT_ASC,$arr);
var_dump($arr);

打印结果

array (size=3)
  0 => 
    array (size=2)
      'age' => int 18
      'name' => string '李四' (length=6)
  1 => 
    array (size=2)
      'age' => int 27
      'name' => string '王五' (length=6)
  2 => 
    array (size=2)
      'age' => int 50
      'name' => string '张三' (length=6)

这样就排好了,也就是说用array_multisort这个函数排序时,用array_column排数组指定的列提取出来放第一个参数,排序常量放第二个参数,数组放到第三个参数,就可以按指定的字段进行排序了。SORT_ASC 是升序,SORT_DESC 是降序。以上就是按字段进行排序的方法,谢谢各位。

查看原文

赞 0 收藏 0 评论 0

卡德加 发布了文章 · 1月12日

PHP中数组的入门

php中的数组是一种非常实用的数据结构,它不同于C语言,C++,Java中的数组,其他语言中数组只是一种顺序存储的数据结构,php的数组不仅可做顺序存储,还可以把它当成哈希表使用,还可以当成对象使用,当成树使用,总之php的数组功能要远多于其他几种语言。

顺序数组的使用

<?php
$arr=array(1,2,3,4,5,6);

以上为顺序数组初始化,和其他语言相类似,由于php是弱类型语言,所以数组的成员可以是不同数据类型,比如整数,字符串,对象等。

$arr=array(1,1,2.3,'abc',array(1,2,3));

数组使用时可以直接使用下标来访问数组元素。

echo $arr[1];

这个和其他语言用法是一样的。

数组的遍历

PHP的数组没有象其他语的length,size()这样的东西,所以求数组长度一般是用count()函数。

for($i=0;$i<count($arr);$i++){
    echo $arr[i]
}

这样可以遍历打印出数组中的全部元素,但是还有另一种赢历,就是使用foreach对数组进行遍历。

foreach($arr as $k => $v){
      echo $k."-->".$v."\n";
}

这种语法,$k是数组索引,$v是数组元素。人个人推荐使用foreach,方便快速。
如果只是看以上这些操作,觉得PHP数好象没什么,但是php数组索引除了可以用数字以外,还可以用其他数据类型。

$arr['first']=1;
$arr[3.14]=3;
$arr[array(1,2,3)]=1;

是不是觉得PHP数组很奇特,当然我个人用的最多的还是字符串做索引,用字符串做数组索引,你可以把数组当成哈希表来用。或者当成一个对象来使用。

$data=array(
    '字段1'=>'字段1的值',
    '字段2'=>'字段2的值',
    '字段3'=>'字段3的值',
);
Db::table('表名')->insert($data);

由于这一特性,php数组可以直接作为插入数据库的变量,也可以作为接收数据库返回值的变量。
今天就为大家介绍PHP数组的简单使用到这里,谢谢各位。

查看原文

赞 0 收藏 0 评论 0

卡德加 关注了专栏 · 1月12日

CodeGuide | 程序员编码指南

公众号:bugstack虫洞栈,回复:设计模式,可以下载《重学Java设计模式》PDF,全网下载量17万+ | 这是一本互联网真实案例实践书籍。以落地解决方案为核心,从实际业务中抽离出,交易、营销、秒杀、中间件、源码等22个真实场景,来学习设计模式的运用。

关注 11995

卡德加 关注了专栏 · 1月12日

技术风暴

关注公众号「关山不难越」学习更多前端进阶知识。 Classical is something not fade,but grow more precious with time pass by,so is dream id dream.

关注 5127

卡德加 关注了专栏 · 1月12日

SegmentFault 思否观察

SegmentFault 思否对开发者行业的洞见、观察与报道

关注 26160

卡德加 关注了专栏 · 1月12日

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 53652

卡德加 关注了专栏 · 1月12日

web进阶

从前端菜鸟到全栈大牛的学习进阶之路

关注 9885

卡德加 关注了专栏 · 1月12日

Python数据科学

微信公众号:Python数据科学

关注 7690

卡德加 关注了专栏 · 1月12日

SegmentFault 社区运营

SegmentFault 思否社区管理官方专栏,在这里发布 SegmentFault 思否社区运营和管理相关的最新消息。

关注 17899

认证与成就

  • 获得 0 次点赞
  • 获得 0 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 0 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 1月12日
个人主页被 83 人浏览