您正在查看: 2017年1月

gcc 编译时为什么会出现fatal error: iostream: No such file or directory

gcc test.c
test.c:1:22: fatal error: iostream: No such file or directory
出面这样问题是原因是你应该用g++也不是gcc

其实 <iostream.h>是c风格的,你可用,但注意格式:
要么是:
#include
using namespace std;
要么是:
#include <iostream.h>
注意,这时是不能用using namespace std;这句话的,否则会出现你遇到的问题.

在标准C++里面,是不用#include <iostream.h>这种形式了,而要使用#include

nginx如何限速?

1.由两个指令共同完成limit_rate和limit_rate_after
2.limit_rate
是指定向客户端传输数据的速度,单位是每秒传输的字节数
该限制只针对一个连接的设定,如果同时两个连接数,那么速度是设置值的两倍
3.limit_rate_after
当一个客户端连接后,将以最快的速度下载多大文件,然后在以限制速度下载文件
该指令是下载字节量的大小值,而不是时间值
4.作用范围:http,server,location,if inlocation

 location / {
                limit_rate_after 128k;
                limit_rate 64k;
        }

如何让nginx日志记录post请求记录

调试页面时,需要记录post请求信息,以便调试问题所在,此时我们只需要在nginx配置文件log_format中增加$request_body变量,就可以让nginx日志记录下post信息

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" $request_body';

"POST / HTTP/1.1" 405 575 "http://127.0.0.1/form.html" "Mozilla/5.0 (X11; linux x86_64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/31.0.1650.63 Safari/537.36" "-" fname=liliu&lname=ming

编译lua5.3.3出fatal error: readline/readline.h: No such file or directory怎么办?

编译安装lua

tar-zxvf lua-5.3.3.tar.gz

cd lua-5.3.3

make linux

make install

完成安装.

结果遇到下面的错误:

lua.c:80:31: fatal error: readline/readline.h: No such file or directory
#include <readline/readline.h>
^
compilation terminated.
make[2]: *** [lua.o] Error 1

解决方法:

缺少libreadline-dev依赖包

centos: yum install readline-devel

debian: apt-get install libreadline-dev.

PHP 命名空间UseNamespace命名使用方法

php引用的命名空间的和C++的命名空间类似。

允许通过别名引用或导入外部的完全限定名称,是命名空间的一个重要特征。这有点类似于在类 unix 文件系统中可以创建对其它的文件或目录的符号连接。

所有支持命名空间的php版本支持三种别名或导入方式:为类名称使用别名、为接口使用别名或为命名空间名称使用别名。PHP 5.6开始允许导入函数或常量或者为它们设置别名。

如:用命名空间定义一个类:

    std.class.php
    
    namespace std
    {
        function cout()
        {
            echo "std::cout OK<br/>";   
        }
        
        class ClassTest
        {
            public function test()
            {
                echo "std::stdClass OK <br/>";   
            }   
        }

}

调试文件: test.php

<?php
require "std.class.php";
//直接调用名命空间的方法
echo \std\cout();
//实便化名命空间的类
$std=new \std\ClassTest();
echo $std->test();
//也可以用use 方法
use \std\ClassTest;
$std=new ClassTest();
echo $std->test();

输出:
std::cout OK
std::stdClass OK

定义自动加载类,这样就可以不用require具体的类文件

function AutoLoad($classname){
    $class_file = 'class/' . $classname . '.php';  
    if (file_exists($class_file)){  
        require_once($class_file);  
    }  
}  
 
spl_autoload_register("AutoLoad");