linux php composer安装和使用教程

linux php composer安装和使用教程
建议在linux下 下载后 然后再下载到本地               win上最好别用composer下载速度超级慢 或者根本下不动 项目依赖包

安装 Composer,你只需要下载 composer.phar 可执行文件。

cd /home/
curl -sS https://getcomposer.org/installer | php

然后 /home/目录下有 composer.phar

要检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:

php composer.phar 

这将返回给你一个可执行的命令列表。

如果你设置了全局 就可以直接运行composer

设置全局方法:
将composer移动到/usr/local/bin/实现全局性运行,在其它地方也能直接运行
composer。

ln -s composer.phar /usr/local/bin/composer

上面等同于 在/usr/local/bin/创建了composer快捷方式 能打开composer.phar

composer -v 如果出现版本信息出来就成功了

然后到当前目录下有 composer.json 文件
先给这个文件夹爱777 权限

下面要切换到不是root账号下运行 创建其他账号 请移步到

linux添加用户

运行composer install
如果composer.json里

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

如果提示PHP版本不对的时候那你需要手动指定PHP版本

/usr/local/php7116/bin/php /home/composer.phar composer.json install

这里将下载 monolog 到 vendor/monolog/monolog 目录下

接下来要加载类文件
你只需要将下面这行代码添加到你项目的引导文件中:

require 'vendor/autoload.php';

现在我们就可以使用 monolog 了

如果composer install安装速度太慢 可以采取下面方式 采用中国镜像
有两种方式启用本镜像服务:

系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中

composer config -g repo.packagist composer https://packagist.phpcomposer.com

PHP 命名空间笔记

PHP 命名空间笔记

1.php文件代码如下

<?php
//我用这样的命名空间表示处于blog下的article模块
namespace Blog\Article;

class Comment {
    function __construct(){ //初始化对象,将初始化值放在括号内
         echo'初始化1';
    }
}

?>

2.php文件代码如下

<?php
require '1.php';

//调用Blog\Article空间的类
$article_comment = new \Blog\Article\Comment();




/*require '1.php';
use Blog\Article\Comment;
$article_comment = new Comment();*/


/*namespace Blog\Article;

require '1.php';
$article_comment = new Comment();*/
?>

PHP操作 二维数组模拟mysql函数

PHP操作 二维数组模拟mysql函数

public function monimysqltest(){
       $testarray=array(
           array('ss'=>'1','dd'=>'11'),
           array('ss'=>'2','dd'=>'22'),
           array('ss'=>'3','dd'=>'33'),
           array('ss'=>'4','dd'=>'44'),
       );
        $sa=$this->arrayfilter($testarray,'ss',array(3,4));
        echo'模拟where<br>';
        print_r($sa);
         echo'<br>';
        $array[] = array('id'=>1,'price'=>50);
        $array[] = array('id'=>2,'price'=>70);
        $array[] = array('id'=>3,'price'=>50);
        $array[] = array('id'=>4,'price'=>20);
        $arre=$this->arraysort($array,'price',SORT_DESC);
        echo'模拟orderby<br>';
        print_r($arre);
        echo'</br>';

        $aa = array(
            array('id' => 123, 'name' => '张三'),
            array('id' => 123, 'name' => '李四'),
            array('id' => 124, 'name' => '王五'),
            array('id' => 125, 'name' => '赵六'),
            array('id' => 126, 'name' => '赵六')
        );
        $key = 'id';
        $bb=$this->assoc_unique($aa, $key);
        echo'模拟groupby<br>';
        print_r($bb);

        echo'模拟limit直接PHParray_slice这个函数搞定<br>';


    }

    /*PHP模仿mysql where筛选*/

    function arrayfilter($arr,$key,$val){
        $list=array();
         foreach ($arr as $k=>$v){
             foreach ($val as $k1=>$v1){
                 if($v[$key]==$v1){
                     $list[]=$v;
                 }
             }

         }
        return $list;
    }

    /*PHP二维排序排序*/
    function arraysort($arr,$key1,$paixu){

        foreach ($arr as $key=>$value){
            $price[$key] = $value[$key1];
        }

        array_multisort($price,$paixu,$arr);
        return $arr;
    }





//模拟groupby

    function assoc_unique($arr, $key) {
        $arr1=$arr;
        $tmp_arr = array();
        foreach ($arr as $k => $v) {
            if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
                unset($arr[$k]);
            } else {
                $tmp_arr[] = $v[$key];
            }
        }
        foreach ($arr as $k=>$v){
            $arr[$k]['lists']=$this->arrayfilter($arr1,$key,array($v[$key]));
        }
        return $arr;
    }

php 500报错解决方案

php 500报错解决方案

1 先看nginx error.log 指定的错误日记文件路径 找到这个日记文件看 里面信息
2 再看 php-fpm.conf 里面指定的PHP错误日记的路径
具体如下

php_flag[display_errors] = off
php_admin_flag[log_errors] = on
php_admin_value[error_log] = /data/logs/fpm-php.log

还有个比较简单的方法 直接PHP里面写
ini_set(“display_errors”, “On”);
error_reporting(E_ALL);

清除minerd进程的方法

清除minerd进程的方法

1 修改redis配置文件

//禁止高危命令
rename-command FLUSHALL “”
rename-command CONFIG “”
rename-command EVAL “”
mypassword设置成自己的密码 采用密码登录
requirepass mypassword
只能本地连接redis
bind 127.0.0.1

2 先去crontab -e 清除不是你的 定时器计划
然后 top 找倒minerd进程
清除 然后就不会再出现啦
然后find / -name minerd rm -r -f删除他

3 关闭访问挖矿服务器的访问

iptables -A INPUT -s xmr.crypto-pool.fr -j DROP
 
 iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP 

4 删除yam 文件(使用find命令查找,然后删除)

带宽的深入理解

购买linux虚拟主机、轻云服务器以及云服务器的时候可以看到网络的带宽是1Mb/s,2Mb/s。

网络带宽与访问速度间的计算方法如下:

1Mb/s = 1024 Kb/s = (1024*1024) b/s = (1024 * 1024) / 8 B/s = =131072 B/s = 128 KB/s

ps:
B代表Byte(字节),b代表bit(比特)

1B = 8 b (一个字节由八个比特位构成)

1Mb = 1024 Kb

1Kb = 1024 b