项目中,用到百度ueditor编辑器,发现,上传大一点的图片,图片会失真,刚开始还以为是PHP端做了图片压缩,仔细看配置说明,发现是编辑器自带有个自动压缩图片的功能,可恶的是,压缩后的图片失真了!
决定去掉这个压缩功能,如果非得要压缩,那就交给服务端PHP来处理吧!
找到配置文件:ueditor/php/config.json
把 imageCompressEnable 设置为 false 即可!
项目中,用到百度ueditor编辑器,发现,上传大一点的图片,图片会失真,刚开始还以为是PHP端做了图片压缩,仔细看配置说明,发现是编辑器自带有个自动压缩图片的功能,可恶的是,压缩后的图片失真了!
决定去掉这个压缩功能,如果非得要压缩,那就交给服务端PHP来处理吧!
找到配置文件:ueditor/php/config.json
把 imageCompressEnable 设置为 false 即可!
当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险。
一般一个大规模Linux服务器请求数可能是几十万上百万的情况,需要足够的连接数来使用,所以务必进行相应的设置。
默认的Linux服务器文件描述符等打开最大是1024,用 ulimit -a 查看:
[viewuser@~]$ ulimit -a
core file size (blocks, -c) 0 #coredump 文件大小
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 255622
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024 #打开文件数量,root账户无限制
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096 #root用户本项是无限
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php
找到代码:
$result = $this->PDOStatement->execute();
当上述PDO语句有异常时(如 SQL语句中数据表不存在),此处就会直接抛出PHP异常,后面的代码不会被执行,页面被中断,这不是我们想要的结果;
当一个网站项目进入运营维护阶段以后,不会再频繁地更新全部源文件到服务器,这个时间的修改大多是局部的,因此更新文件只需更新修改过的文件,其他没有修改过的文件就没有必要上载到服务器。但一个稍微上规模的网站项目,文件是很多的,而且对于团队协作开发更难知道每次修改到哪些文件,这时候SVN的作用发挥出来了。
问题汇总:
后来,因为 Ubuntu 系统老被我弄得崩溃,为防止数据丢失,把 MySQL 的安装目录调整到 Windows 的“共享文件夹”中,即安装路径由 /opt/software/mysql 改为 /www/mysql 。
修改当前登录用户的密码,通常使用如下命令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
但是,如果密码比较简单,它会报错,提示:
Bad: new password is too simple
PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:
PDO::ERRMODE_SILENT
此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。
设置 -> WLAN -> 右下角菜单“高级” -> 高级 WLAN 设置 -> 去掉勾选“WLAN优化”
UML与Enterprise Architect 7.5团队开发使用手册