file_exists检测mount文件总是返回false

$source= '/mnt/images/554-100006.jpg';
$target = '/tmp/'.basename($source);

echo "SOURCE: {$source}\n";
echo "TARGET: {$target}\n";

echo "FILE_EXISTS: ".(file_exists($source)?'TRUE':'FALSE')."\n";
echo "IS_FILE: ".(is_file($source)?'TRUE':'FALSE')."\n";
echo "COPY: ".(copy($source, $target)?'TRUE':'FALSE')."\n";

执行结果:

SOURCE: /mnt/images/554-100006.jpg
TARGET: /tmp/554-100006.jpg
FILE_EXISTS: FALSE
IS_FILE: FALSE
COPY: TRUE

ThinkPHP七周年了

ThinkPHP七周年了

  • 七年来,ThinkPHP专注于WEB应用快速开发。
  • 七年来,ThinkPHP超过了300W次下载。
  • 七年来,ThinkPHP经历了7个里程碑版本。
  • 七年来,ThinkPHP为50W个网站提供了底层框架。

认识ThinkPHP在09年,伴我走过了4年,结下了不解情缘。
回顾一下:

  • 09年,开始使用ThinkPHP,从此爱上了它,还是1.5版本;
  • 10年,与ThinkPHP创始人流年有所接触,参与ThinkPHP部分功能测试;
  • 12年,正式加入ThinkPHP核心团队,参与ThinkPHP3.0版本的架构与测试;

未来的日子,与ThinkPHP共同成长!

解决MySQL server has gone away

主要可能是因为以下几种原因:

1、可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。

2、可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singleton的做法,虽然多次连接数据库,但其实使用的都是同一个连接,而且程序中某两次操作数据库的间隔时间超过了wait_timeout(SHOW STATUS能看到此设置),那么就可能出现问题。最简单的处理方式就是把wait_timeout改大,当然你也可以在程序里时不时顺手mysql_ping()一下,这样MySQL就知道它不是一个人在战斗。
继续阅读解决MySQL server has gone away