u乐国际娱乐平台【SOS】nginx无法解析php文件?

( u乐国际娱乐平台 )

已经在服务器上装了nginx和php,php-fpm(监听9000端口)
可以正常显示html,但是每当输入url打开一个php时,无法正常解析,导致变成下载模式

nginx.conf如下

现在打开php直接变成404…Orz

干脆贴出来吧,估计是这一段的问题,搞了好久都没进展….

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
}

这样写试一下 用nginx -t命令检查你的nginx配置文件是否有错误
location /index.php {

    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;

}

我以前也有过,当时是centos6,后来换成7了。
之后绑定好域名就好了

还能显示nginx的画面
问题是我用域名安装源码怎么就显示404
用ip安装弹出php文件的下载,php我也运行了啊。
网站默认主目录我也已经定位到www.38934.tech上面了。
苦恼啊!
2016-10-26 09:33:34
管理员
请您确保以下3个设置:

  1. 域名解析到服务器IP

  2. Nginx网站管理里有配置这个域名

  3. 修改完配置后有重载或重启Nginx
    目前已为你修正配置。

第一步 nginx.conf的配置

location / {
        if (!-e $request_filename) {
             rewrite  ^/(.*)$  /index.php/$1  last;
             break;
        }
    }

    location ~ ^/s-([0-9a-z]+)-(.*) {
        rewrite ^/s-([0-9a-z]+)-(.*) /shtmls/$1/$2 last;
        break;
    }

    location ~ .+\.php($|/) {
        set $script    $uri;
        set $path_info  "/";
        if ($uri ~ "^(.+\.php)(/.+)") {
              set $script     $1;
              set $path_info  $2;
        }

        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param SCRIPT_FILENAME  $document_root/$script;
        fastcgi_param SCRIPT_NAME $script;

    }

第二步 sudo vim /etc/php5/fpm/pool.d/www.conf
将 ;listen = /var/run/php5-fpm.sock
改成 listen = 127.0.0.1:9000

你的代码直接放在/root里么?你改过之后的完成配置也发一下吧。

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐官网如何在自己的项目中实现word在线编辑

( u乐国际娱乐官网 )

希望能在自己(公司)的项目中实现word在线编辑,感觉无从下手

(不好意思,没说清楚,我补充一下:比如我上传了一份word,然后能在线编辑这个word文件,编辑之后能保存)

谢邀~
富文本编辑器
http://summernote.org/

你可以使用百度的ueditor
http://ueditor.baidu.com/webs…

如果不考虑富文本编辑器的话,硬要实现office系列的在线编辑。

你大概有以下几条路走:
1、只考虑IE,用专有ActiveX插件,实现浏览器里面编辑office文档。https://github.com/stone0090/…
2、现代浏览器,接入在线的office online 。

不要说在线 Word 编辑,就是在线 Word 阅读都已经很不容易了,这个功能太专业了。

网上能搜到一些阅读组件,大部分是收费的,比如永中的高清服务器版本收费大概是80K。

另外,你可以去看看 Open Office 有没有提供相关的组件。Open Office 一直是开源的 Office 解决方案。

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

亚洲唯一授权官网php中的字符编码

( 亚洲唯一授权官网 )

$str1 = "\xe4\xb8\xad";

$str2 = '\xe4\xb8\xad';

$str3 = '中';

能否详细解释一下三者的区别,是否可以相互转化

第一次在segmentfault上回答问题。。

PHP字符串变量,双引号和单引号的意义是不同的

使用双引号时会转义 单引号时不转义
使用双引号时,$xxxx文本会被相应变量的值替换,单引号没有这个效果

Eg.

$abc='123';
echo "$abc"; //这样会输出123
echo '$abc'; //这样会输出$abc
echo "\n"; //这样会输出一个换行符
echo '\n'; //这样会输出\n两个字符(一个斜杠一个n)

回到问题,
“中”这个汉字在UTF-8的16进制编码是0xe4,0xb8,0xad
因此在双引号字符串中,会被转义为 “中” x开头表示这是一个以十六进制表达的字符,就和HTML中&xe4; 一样
单引号字符串中,直接输出xe4xb8xad

如果你的环境编码是在UTF-8下面, str1和str3等价, 如果直接echo, 都会输出”中”, 如果是二进制层面三个字节比较, 也是完全相等, PHP中的字符串就是直接本地编码二进制存储的

如果你的环境编码是非UTF-8(例如GBK), str1基本上是个乱码, str1和str3也不再等价

至于str2, 它无论什么时候都会输出 ‘\xe4\xb8\xad’ (不含引号, 在单引号的字符串中, 只有单引号本身需要转义成\’, 其它情况的\都视为普通字符处理

只解释第一个与第二个的区别,也就是单引号与双引号的区别

双引号:引号内部会被转义
单引号:引号内部不会被转义

$a = 123;

echo "output:$a";//output:123
echo 'output:$a';//output:$a

//下面的示例仅限linux的php-cli
echo "new line\nsecond line";
/*
会换行,输出:
new line
second line
*/

echo 'no new line\n aaa';
/*
不会换行,输出:
no new line\n aaa
*/

\x后跟着十六进制数字的属于转义字符,转义字符只有在双引号"中才起作用。单引号中只有对单引号本身'和反斜杠\的转义有效,其他的都无效。

PHP本身不区分字符编码。也就是说,$str1是一个三字节的字符串,字符串的三个字节分别是(十六进制编码)E4 B8 AD。如果在UTF-8编码中,就是字。其他编码中就不一定了。

$str2则是一个12字节的字符串,就是你输入的那些字符。

$str3则是一个字符串,如果你把文件以UTF-8编码保存,那就和$str1是一样。如果你以GBK保存,那就是两个字节的D6 D0,如果你以BIG5保存,就是A4 A4


不管是UTF-8、GBK还是BIG5,甚至于很多其他的语言编码,都是遵循EUC的,也就是说对于ASCII字符,他们的编码都是一致的,所以无论用哪种编码保存,对PHP的代码工作都不会有影响。但是对于非ASCII字符就有很大的区别。

所以PHP中的非ASCII字符要正常显示,就要保证你的保存编码和输出编码是一致的。如果是输出的是HTML,是通过meta标签或者在HTTP Header中声明编码的。如果不一致,那就会出现乱码了。

(看完/读完)这篇文章有何感想! 亚洲唯一授权官网的分享…

u乐国际娱乐官网微信第三方图片多选

( u乐国际娱乐官网 )

微信使用第三方的上传插件不能多选,用微信的又因为一套appid多个系统使用,总会出一些奇葩问题,请问各位怎么解决在微信浏览器下图片上传多选的问题?

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

亚洲唯一授权官网php命令行无法运行php脚本

( 亚洲唯一授权官网 )

谢谢各位大神进来,我的问题是这样的:
我有一个项目中向外请求的次数很多,于是我就单独写了一个脚本开启多进程,在这个多进程脚本中需要先加载项目的头文件,问题就出在这里,我用浏览器直接访问这个脚本是可以加载的,但是用命令行“php+多进程脚本”来开启这个脚本时,头部文件就无法加载,这个无法加载主要是在数据库无法连接的问题。由于项目代码特别大,这边也无法全部贴出来。
所以想请教一下:是不是数据库的加载对方式也有要求,有什么方式能够实现我的需求吗?

应该是命令行的脚本执行方法问题:

  • php /path/a/b/c/index.php 该写法对项目的路径有要求。如果项目中如require等引入的路径是相对路径,那容易出问题

  • cd /path/a/b/c; php index.php 该写法可避免上面问题。

看你是不是属于这种情况。

(看完/读完)这篇文章有何感想! 亚洲唯一授权官网的分享…

u乐国际娱乐官网php数组合并

( u乐国际娱乐官网 )

有三个一维数组,
Array ( [0] => 12312 [1] => 2321 [2] => 12321 )
Array ( [0] => 133 [1] => 444 [2] => 888 )
Array ( [0] => qqqqqqq [1] => wqwq [2] => wqe )

合并成
array( [orderno] => 12312 [deliverysn] => 133 [deliverycorpname] => qqqqqqq)

array( [orderno] => 2321 [deliverysn] => 444 [deliverycorpname] => wqwq )  一次类推怎么做

不知道题主是不是这个意思,效果如下
https://3v4l.org/8r0ko

//首先要确定这3个数组是关联数组和所包含的元素个数都是一样的
$arr_orderno = [12321,321,321];
$arr_deliverysn = [7,8,9];
$arr_deliverycorpname = ['asd','qwe','zxc'];

$arr_merge= [];
for($i = 0; $i < count($arr_orderno); $i++){
  $arr_merge[$i] = [$arr_orderno[$i], $arr_deliverysn[$i], $arr_deliverycorpname[$i]];
}

$arr_key = ['orderno', 'deliverysn', 'deliverycorpname'];

$arr = [];
foreach ($arr_merge as $value) {
  $arr[] = array_combine($arr_key, $value);
}


print_r($arr);

foreach($arr_a as $k=>$v){
    $arr_{$k}['orderno'] = $v;
    $arr_{$k}['deliverysn'] = $arr_b[$k];
    $arr_{$k}['deliverycorpname'] = $arr_c[$k];
}

$arr_key = ['orderno', 'deliverysn', 'deliverycorpname'];
$map_arr=array_map(null,$arr_orderno,$arr_deliverysn,$arr_deliverycorpname);
$res=array_map(function($i) use($arr_key){
return array_combine($arr_key,$i);
},$map_arr);
/*
[
     [
       "orderno" => 12321,
       "deliverysn" => 7,
       "deliverycorpname" => "asd",
     ],
     [
       "orderno" => 321,
       "deliverysn" => 8,
       "deliverycorpname" => "qwe",
     ],
     [
       "orderno" => 321,
       "deliverysn" => 9,
       "deliverycorpname" => "zxc",
     ],
   ]
*/

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

u乐国际娱乐平台php 路径问题?

( u乐国际娱乐平台 )

index.php里头
注意到这两个:

require __DIR__ . '/vendor/autoload.php';

require 'vendor/autoload.php';

上面两句话还是有区别的,第二句话在有些时候会出问题的,是在命令行执行的时候

__DIR__,指向当前执行的PHP脚本所在的目录
显然2个require的路径不是同一个东西,只是有时候正好相等。

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐官网phpQuery获取网页里的js变量,如何获取

( u乐国际娱乐官网 )

获取:view-source:http://www.dianping.com/shop/…网页里的
window.shop_conifg变量,如何获取?

<script>
window.shop_config={
        userId: 0,
        shopId: 11576689,
        shopName: "优尼牙科",
        cityId: 2,
        power:5,
        shopType:85,
        map:{
            power:5,
        manaScore:0
        },
        licensePics:['http://mss.sankuai.com/v1/mss_bccd2477df9e492ca0baeb67e4eb3491/qualification/8723a20a-a40c-11e3-8fb0-a254baaa25bb?temp_url_sig=c17ff6525cfabce9e5f94b46ca3f9ee5115a1309&temp_url_expires=1479364038',],
    mainCategoryId:182,
     defaultPic:"http://qcloud.dpfile.com/pc/hhF4nWJIwWw4FXmGBaW39dKYr5NdlHLz5G64Lx3QSTypRKzSBzQnLPwzWURFZUAvtOnd3gXQdDYlAqlaVaAFeZ0rYYyiRo_EhzufqWWjTjs.jpg"
    }
</script>

没用过phpquery,这里用正则

//$str就当phpquery获取的字符串
$str="<script>
window.shop_config={
        userId: 0,
        shopId: 11576689,
        shopName: \"优尼牙科\",
        cityId: 2,
        power:5,
        shopType:85,
        map:{
            power:5,
        manaScore:0
        },
        licensePics:['http://mss.sankuai.com/v1/mss_bccd2477df9e492ca0baeb67e4eb3491/qualification/8723a20a-a40c-11e3-8fb0-a254baaa25bb?temp_url_sig=c17ff6525cfabce9e5f94b46ca3f9ee5115a1309&temp_url_expires=1479364038',],
    mainCategoryId:182,
     defaultPic:\"http://qcloud.dpfile.com/pc/hhF4nWJIwWw4FXmGBaW39dKYr5NdlHLz5G64Lx3QSTypRKzSBzQnLPwzWURFZUAvtOnd3gXQdDYlAqlaVaAFeZ0rYYyiRo_EhzufqWWjTjs.jpg\"
    }
</script>";

preg_match('#<script>
window.shop_config=([\s\S]*)</script>#',$str,$match);

print_r($match[1]);

/*
{
        userId: 0,
        shopId: 11576689,
        shopName: "优尼牙科",
        cityId: 2,
        power:5,
        shopType:85,
        map:{
            power:5,
        manaScore:0
        },
        licensePics:['http://mss.sankuai.com/v1/mss_bccd2477df9e492ca0baeb67e4eb3491/qualification/8723a20a-a40c-11e3-8fb0-a254baaa25bb?temp_url_sig=c17ff6525cfabce9e5f94b46ca3f9ee5115a1309&temp_url_expires=1479364038',],
    mainCategoryId:182,
     defaultPic:"http://qcloud.dpfile.com/pc/hhF4nWJIwWw4FXmGBaW39dKYr5NdlHLz5G64Lx3QSTypRKzSBzQnLPwzWURFZUAvtOnd3gXQdDYlAqlaVaAFeZ0rYYyiRo_EhzufqWWjTjs.jpg"
    }
*/

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

u乐国际娱乐平台字典排序的问题?

( u乐国际娱乐平台 )

$a=array(2,1,4,7,1,4,1,9)

想得到key/value,其中key是值,value是该值出现的次数,如下所示:

$b={2:1,1:3,4:2,7:1,9:1}

$a中元素比较多,如何用最少的循环解决这个问题?

// 直接用函数
>>> array_count_values($a)
=> [
     2 => 1,
     1 => 3,
     4 => 2,
     7 => 1,
     9 => 1,
   ]

$b = [];
foreach ($a as $i) {
   $b[$i] =  isset($b[$i]) ? $b[$i] + 1 : 0;
}

循环一次

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐平台为什么ImageMagick转换PDF为png,小文件可以,稍大点就不行?

( u乐国际娱乐平台 )

php里用imagick扩展调用imagemagick,把pdf转化成png文件,几个中英文字的小文件转换成功,稍大点就不行,登录LINUX命令行方式转化也不行,请问是什么原因?

这个问题是弄错了,实际情况是imagick无法转换非内嵌字体的PDF文件,我重新提了一个问题,希望能帮我解答一下,谢谢。
https://segmentfault.com/q/10…

看下这文章ImageMagick转PDF为png,最好使用最新版本的ImageMagick。
首先不确定你是怎么操作的,至于你命令行是如何调用的也无从获知,希望能帮到你。

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐平台laravel被人利用漏洞了,可是不知道怎么被利用的,求解

( u乐国际娱乐平台 )

public function postStore(Request $request){
    
        switch ($request->input('type')) { //对提交过来的type进行判断
            case 'redBagCart':
                $type=1;
                $order_type='HB';
                break;
            
            default:
                $type=0;
                $order_type='WX';
                break;
        }
    
         ...
         
        Log::info($request->input('type')); //记录到日志里

})

大概代码如上,可是奇怪的一点是,我数据库有对这个$order_type进行记录,数据库记录的是HB,也就是$request->input('type')是redBagCart,可是日志里记录的却是'',空。
为什么会这样。

$data[‘provinceName’]哪里来的?
Log::info('mylog', ['type'=>$request->input('type')]);

可以试试把$request->input('type')赋值给一个变量再使用

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐平台微信开发文档第三步:刷新access_token这个有什么用

( u乐国际娱乐平台 )

http://mp.weixin.qq.com/wiki/…

微信文档中说的刷新access_token有什么用?要获取到用户的openid不是每次都要先获得code(唯一的吧?),再用code去获取access_token,再获取到openid,那把access_token刷新是什么意思?请微信开发的大神指导下、

access_token有过期时间,7200秒。过期了就要重新获取。

因为token是有过期时间的,如果长时间用一个token,过期了,就无法正常请求了

access_token 设计这个值时,为了考虑安全问题,就如session一样.有生命周期.若长时间未访问,超过access_token生命周期,系统则认为已过期.

注意看这一段:

关于网页授权access_token和普通access_token的区别

  1. oauth的access_token:第一次进入你的网站时进行一次授权,获取用户的信息(openid)。

  2. 普通access_token:调用微信的rest接口时,微信服务器都需要进行安全认证。将此access_token带在url参数中。

现在各种语言都有相应的sdk帮忙获取“普通access_token”,并做超时自动重新获取。如果是用来做项目的话,可以不用造轮子了,github上面一大堆。除了access_token的功能外,还封装了各个接口的各种sdk。

  1. access_token每日请求次数有要求

  2. 获取用户的access_token,需要用户授权

  3. access_token时效短

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐官网是字符串拼接的错误吗?

( u乐国际娱乐官网 )

写成下面这样不行 这样报错Call to a member function where() on array
改成这样"href='$v[href]'"还是报同样的错 这是为什么?

$num=$res2->where("href=".$v['href'])->select();

看报错信息是因为 $res2 是数组不是对象啊。var_dump($res2) 看看是什么值,是不是把 query 对象变成数组返回了。

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

u乐国际娱乐平台【PHP】在用PHP来统计一个纯英文的txt的单词的时候,为什么会这种情况?【已解决】

( u乐国际娱乐平台 )

代码如下:

<?php
/**
* 任一个英文的纯文本文件,统计其中的单词出现的个数。
* Created by PhpStorm.
* User: Paul
* Date: 2016/11/5
* Time: 23:18
*/

$content = file_get_contents('4/Gone with the wind.txt');
$res = count_word($content, 1);
print_r($res);

/**
* 任一个英文的纯文本文件,统计其中的单词出现的个数。
* @param string $string  字符串
* @param int $lower 是否大小写   1:不区分大小写  0:区分大小写
* @return array
*/
function count_word($string, $lower = 0) {
    $string = trim($string);
    if ($lower) {
        $string = strtolower($string);
    }

    //过滤掉一些标点符号
    $string = str_replace(';', '', $string);
    $string = str_replace(',', '', $string);
    $string = str_replace('.', '', $string);
    $string = str_replace('.', '', $string);
    $string = str_replace('‘', '', $string);
    $string = str_replace('?', '', $string);
    $string = str_replace('“', '', $string);
    $string = str_replace('”', '', $string);
    $string = str_replace('―', '', $string);
    $string = str_replace('-', '', $string);
    $string = str_replace('!', '', $string);
    $string = str_replace(':', '', $string);
    $string = str_replace('(', '', $string);
    $string = str_replace(')', '', $string);

    $array = explode(' ', trim($string));

    $res = array();
    foreach ($array as $key=>$value) {
        //过滤掉如I’ll、you’re、masters’s等单词
        if (strpos($value, '’') !== false || strpos($value, "'") !== false) {
            continue;
        }

        //过滤掉空
        if (empty($value) === true) {
            continue;
        }

        if (array_key_exists($value, $res)) {
            $res[$value]++;
        } else {
            $res[$value] = 1;
        }
    }

    //排序
    array_multisort($res, SORT_DESC, SORT_NUMERIC);
    return $res;
}

输出结果:

array(
    [repression] => 1
    [thoroughness] => 1
    [bleached] => 1
    [tow] => 1
    [inspired] => 1
    [uniformwell] => 1
    [panamas] => 1
    [caps
when] => 1
)

不明白为什么会把两个单词给判断成一个单词,txt呢是用sublime打开并且设置编码为UTF-8,没有用电脑自带的文本文档工具打开编辑过,另外呢,过滤标点符号的时候也有加上过滤掉rn来处理,但是没效果,所以代码去掉了。求解为什么会出现这种情况并且如何避免?

你的问题应该就出在没有处理换行(和回车)以及那些过滤字符被替换成了”, 应该替换成’ ‘

<?php
$content = file_get_contents(__FILE__); //没有你的原始文本, 所以就直接读取文件自身作为样本了
$res = count_word($content, 1);
print_r($res);

/**
* 任一个英文的纯文本文件,统计其中的单词出现的个数。
* @param string $string  字符串
* @param int $lower 是否大小写   1:不区分大小写  0:区分大小写
* @return array
*/
function count_word($string, $lower = 0) {
    $string = trim($string);
    if ($lower) {
        $string = strtolower($string);
    }

    //过滤掉一些标点符号
    $string = str_replace([';',',','.','.','‘','?','“','”','―','-','!',':','(',')',"\r","\n"], ' ', $string);
    $array = explode(' ', $string);

    $res = array();
    foreach ($array as $key=>$value) {
        //过滤掉空
        if (!$value) {
            continue;
        }

        //过滤掉如I’ll、you’re、masters’s等单词
        if (strpos($value, '’') !== false || strpos($value, "'") !== false) {
            continue;
        }

        if (array_key_exists($value, $res)) {
            $res[$value]++;
        } else {
            $res[$value] = 1;
        }
    }

    //排序
    array_multisort($res, SORT_DESC, SORT_NUMERIC);
    return $res;
}

不知道你的文件里的字符串是什么样子的,不过trim函数只会去掉两边的空格(rn),感觉问题会出在这里。

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐官网有没有复杂度为O(n)的二维数组合并去重算法

( u乐国际娱乐官网 )

有没有复杂度为O(n)的二维数组合并去重算法

$a = [
    ['id'=>1],
    ['id'=>2],
    ['id'=>3],
    ['id'=>4],
    ['id'=>5],
    ['id'=>6]
];
$b = [
    ['id'=>5],
    ['id'=>6],
    ['id'=>7],
];
$c = [
    ['id'=>8],
    ['id'=>9]
];

function array_unique_merge() {
    $params = func_get_args();
    $result = [];
    $hashmap = [];
    $arr_count = count($params);
    for($i = 0; $i<$arr_count; $i++) {
        foreach($params[$i] as $key => $val) {
            $md5 = md5(json_encode($val));
            if (!isset($hashmap[$md5])) {
                $hashmap[$md5] = true;
                $result[] = $val;
            }
        }
    }
    return $result;
}

print_r(array_unique_merge($a, $b, $c));

我只是贴出来一下我的想法可以这么做。如果n指的是所有数组的元素数量之和。

这个必须要用2循环,对n的定义应该是多个关联数组的元素之和,双循环就算是O(n)了

serialize以后当作hash比较,这个思路呢?手机我就不写代码了…

(看完/读完)这篇文章有何感想! u乐国际娱乐官网的分享…

u乐国际娱乐平台什么导致了shell下flask_sqlalchemy的order_by命令返回内存地址,跟官网的例子不一样啊?

( u乐国际娱乐平台 )

官网的例子http://flask-sqlalchemy.pocoo…

>>> User.query.order_by(User.username)
[<User u'admin'>, <User u'guest'>, <User u'peter'>]

我得到的返回值

>>>User.query.order_by(User.id)
<flask_sqlalchemy.BaseQuery object at 0x0000000004BE2278>
>>> User.query.order_by(User.name)
<flask_sqlalchemy.BaseQuery object at 0x0000000004C346A0>

这种问题应该从什么地方开始入手分析呢?谢谢~

class User(UserMixin, db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(64), unique=True, index=True)
username = db.Column(db.String(64),unique=True, index=True)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
password_hash = db.Column(db.String(128))
confirmed = db.Column(db.Boolean, default=False)
name = db.Column(db.String(64))
location = db.Column(db.String(64))
about_me = db.Column(db.Text)
member_since = db.Column(db.DateTime(), default=datetime.utcnow)
last_seen = db.Column(db.DateTime(), default=datetime.utcnow)

def __init__(self, **kwargs):
    super(User, self).__init__(**kwargs)
    #super()不但能找到基类方法,而且还为我们传进 self
    if self.role is None:
       if self.email == current_app.config['FLASKY_ADMIN']:
           self.role = Role.query.filter_by(permissions=0xff).first()
       if self.role is None:
            self.role = Role.query.filter_by(default=True).first()

def can(self, permissions):
    return self.role is not None and \
           (self.role.permissions & permissions) == permissions

def is_administrator(self):
    return self.can(Permission.ADMINISTER)

def ping(self):
    self.last_seen = datetime.utcnow()
    db.session.add(self)

def __repr__(self):
    return '<User %r>' % self.username

@property
def password(self):
    raise AttributeError('password is not a readable attibute')

@password.setter
def password(self, password):
    self.password_hash = generate_password_hash(password)

def verify_password(self, password):
    return check_password_hash(self.password_hash, password)

def generate_confirmation_token(self, expiration=3600):
    s = Serializer(current_app.config['SECRET_KEY'], expiration)
    return s.dumps({'confirm': self.id})

def confirm(self, token):
    s = Serializer(current_app.config['SECRET_KEY'])
    try:
        data = s.loads(token)
    except:
        return False
    if data.get('confirm') != self.id:
        return False
    self.confirmed = True
    db.session.add(self)
    return True

def generate_reset_token(self, expiration=3600):
    s = Serializer(current_app.config['SECRET_KEY'], expiration)
    return s.dumps({'reset': self.id})

def reset_password(self, token, new_password):
    s = Serializer(current_app.config['SECRET_KEY'])
    try:
        data = s.loads(token)
    except:
        return False
    if data.get('reset') != self.id:
        return False
    self.password = new_password
    db.session.add(self)
    return True

你的user是不是dynamic的懒加载方式? 如果是的话,那就.all()才可以获取到实际的内容:

>>> User.query.order_by(User.username).all()

我看到你上面的代码

def __repr__(self):
    return '<User %r>' % self.username

但是你根本没有将username在__init__方法里面赋值给self.username怎么显示呢?

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

u乐国际娱乐平台python try…except中如何输入e的行号

( u乐国际娱乐平台 )

try:
    print(aaa)
except Exception as e:
    print(e)

import sys, os

try:
    raise NotImplementedError("No error")
except Exception as e:
    exc_type, exc_obj, exc_tb = sys.exc_info()
    fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
    print(exc_type, fname, exc_tb.tb_lineno)

提问前请先上网搜索。

python-when-i-catch-an-exception-how-do-i-get-the-type-file-and-line-number

建议研究一下traceback模块

(看完/读完)这篇文章有何感想! u乐国际娱乐平台的分享…

亚洲唯一授权官网spark读入文件,报错 java.io.IOException:No input paths specified in job

( 亚洲唯一授权官网 )

想尝试着处理一下文本,结果都载入不进来。。。
文件路径肯定没问题
求大神指教

fileName = "file:///Users/liuchong/Desktop/Animal Farm.txt"
liuDF = sqlContext.read.text(fileName).select('value')
print type(liuDF)
liuDF.show()

报错:


---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
 in ()
      5 liuDF = sqlContext.read.text(fileName).select('value')
      6 print type(liuDF)
----> 7 liuDF.show()
      8 #print liuDF.count()
      9 def removePunctuation(column):

/databricks/spark/python/pyspark/sql/dataframe.py in show(self, n, truncate)
    255         +---+-----+
    256         """
--> 257         print(self._jdf.showString(n, truncate))
    258 
    259     def __repr__(self):

/databricks/spark/python/lib/py4j-0.9-src.zip/py4j/java_gateway.py in __call__(self, *args)
    811         answer = self.gateway_client.send_command(command)
    812         return_value = get_return_value(
--> 813             answer, self.gateway_client, self.target_id, self.name)
    814 
    815         for temp_arg in temp_args:

/databricks/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
     43     def deco(*a, **kw):
     44         try:
---> 45             return f(*a, **kw)
     46         except py4j.protocol.Py4JJavaError as e:
     47             s = e.java_exception.toString()

/databricks/spark/python/lib/py4j-0.9-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
    306                 raise Py4JJavaError(
    307                     "An error occurred while calling {0}{1}{2}.\n".
--> 308                     format(target_id, ".", name), value)
    309             else:
    310                 raise Py4JError(
Py4JJavaError: An error occurred while calling o77.showString.
: java.io.IOException: No input paths specified in job
    at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:156)
    at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:208)
    at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
    at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
    at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
    at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
    at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
    at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
    at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:190)
    at org.apache.spark.sql.execution.Limit.executeCollect(basicOperators.scala:165)
    at org.apache.spark.sql.execution.SparkPlan.executeCollectPublic(SparkPlan.scala:174)
    at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499)
    at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499)
    at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:56)
    at org.apache.spark.sql.DataFrame.withNewExecutionId(DataFrame.scala:2086)
    at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$execute$1(DataFrame.scala:1498)
    at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$collect(DataFrame.scala:1505)
    at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1375)
    at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1374)
    at org.apache.spark.sql.DataFrame.withCallback(DataFrame.scala:2099)
    at org.apache.spark.sql.DataFrame.head(DataFrame.scala:1374)
    at org.apache.spark.sql.DataFrame.take(DataFrame.scala:1456)
at org.apache.spark.sql.DataFrame.showString(DataFrame.scala:170)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:381)
    at py4j.Gateway.invoke(Gateway.java:259)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:209)
    at java.lang.Thread.run(Thread.java:745)

(看完/读完)这篇文章有何感想! 亚洲唯一授权官网的分享…

亚洲唯一授权官网selenium学习问题,找不到解决方法了

( 亚洲唯一授权官网 )

from selenium import webdriver
print(0)
driver = webdriver.PhantomJS(executable_path='E:\phantomjs-2.1.1-windows\bin')
print(1)
driver.get('http://www.baidu.com')
print(2)
print(driver.title)

出错了:
0
Traceback (most recent call last):
File “E:PythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py”, line 64, in start

stdout=self.log_file, stderr=self.log_file)

File “E:PythonPython35-32libsubprocess.py”, line 947, in init

restore_signals, start_new_session)

File “E:PythonPython35-32libsubprocess.py”, line 1224, in _execute_child

startupinfo)

FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:/Users/ty/PycharmProjects/untitled3/src/Reptile.py”, line 20, in <module>

driver = webdriver.PhantomJS(executable_path='E:\phantomjs-2.1.1-windows\bin')

File “E:PythonPython35-32libsite-packagesseleniumwebdriverphantomjswebdriver.py”, line 52, in init

self.service.start()

File “E:PythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py”, line 71, in start

os.path.basename(self.path), self.start_error_message)

selenium.common.exceptions.WebDriverException: Message: ‘phantomjs-2.1.1-windowsin’ executable needs to be in PATH.

Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.phantomjs.service.Service object at 0x00276A70>>
Traceback (most recent call last):
File “E:PythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py”, line 163, in del

self.stop()

File “E:PythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py”, line 135, in stop

if self.process is None:

AttributeError: ‘Service’ object has no attribute ‘process’

找不到问题出哪
就到webdriver.PhantomJS这一行出错。
谢谢

1、判断一个这个文件能否执行
2、判断文件位置是否正确

selenium.common.exceptions.WebDriverException: Message: 'phantomjs-2.1.1-windowsin' executable needs to be in PATH.

这里提示了,应该把phantomjs的路径加到系统变量PATH里.
测试能用.

http://seleniumhq.github.io/s…,这里有个手册,可以看看

(看完/读完)这篇文章有何感想! 亚洲唯一授权官网的分享…