PHP开发的一些注意点总结
作者:liu-zebing_284 | 来源:互联网 | 2018-03-15 18:13
技术平台的不同,导致了实现方式的不同,同样是PHP,小公司往往选择的是WIN平台而大公司选择的是类unix平台(Linux,FreeBSDandOther),现在就最近这段时间的学习,这好乘国庆长假这段时间好好的总结下的了.
Linux系统的使用
现在标配的系统是 Linux + Nginx + PHP + MySQL ,这样的配置越来越多的大公司在用的了说到配置不同的是一个公司的规约,比如说挂载一般分为2个盘, / 下面划分为系统用的分区10G 足够 剩余空间划给/home的了.这点我感觉比较好的,原来我划的太多的了,其次是对于系统的安全登陆,现在小公司或者个人的做法是通过网络,直接使用帐号或者密码直接登陆而相对大公司的做法是,先登陆relay中转服务器,然后通过中转服务器登陆到目标服务器,这样帐号会被记录,安全性比较高,现在一般用了TOKEN,RSASecurID进行密码登陆,提高了整体的安全性了.
PHP调用shell命令
在之前没有使用到php调用到shell来执行一些额外的任务,现在会经常用到的了,这样就可以做脚本之外的事情了,这点感觉比较方便
编码习惯上对于编码习惯,每个公司和团队往往使用的都不同,特别是编程IDE的不同导致了编码规范的不同而约定也就不同的了,不过对于整体的习惯经过团队全体人员的决议,就定下来了,这点在原来的小公司没有要求的很严格,现在也是这样的,看来这个和团队文化还是有很大关系的了,这点团队的人相处久了,自然就熟悉的了.
函数返回值
一般对于获取失败的返回值都返回的是false,对于出现的多种情况,返回int的数值,如果是数据则返回的是array或者其他,对于现在的函数由于memcache的使用,现在用了很多的函数内的cache操作,返回值也是先从cache取得,如果没有在到数据库中取得,然后写入cache,然后返回数据
对于处理数据写入原来的写法是在$_POST && $_GET 过来的数据,然后进行addslashes处理,现在的做法是直接接收,然后进行数据判断是否符合要求,然后在拼接sql,然后对sql语句进行mysql_escape_string处理,然后在读出数据的时候,使用htmlspecialchars进行处理,这样显示就没有问题的了.
锁机制的PHP实现
前段时间写过一篇文章并发下常见的加锁及锁的PHP具体实现
关于队列的分发问题
使用了MQ进行Memcache数据的分发,这点还没弄明白,具体的实现,得在请教的了
关于PHP的错误级别的认识
原来对于错误级别,在开发的时候用的都是比较轻的E_ALL | E_STRICT 现在换成了E_ALL & ~E_STRICT 养成变量定义的好习惯,使用时候初始化是比较必要的.
对于防止用户发表违法信息及广告的控制及用户行为频率的控制
对于用户发布的广告,违法信息都用SPAM系统进行了控制,防止出现问题,对于用户行为进行了限制,防止用户过多的控制资源,对于系统中的变量不能使用自增的唯一ID,需要进行加密处理,返回系统信息被其他人获得.包括用户ID,数据信息ID的加密处理
推荐阅读
-
php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ...
[详细]
蜡笔小新 2023-10-17 20:32:59
-
本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ...
[详细]
蜡笔小新 2023-12-14 17:15:19
-
-
本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ...
[详细]
蜡笔小新 2023-12-12 21:38:57
-
svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ...
[详细]
蜡笔小新 2023-12-11 11:01:10
-
本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ...
[详细]
蜡笔小新 2023-12-09 23:30:30
-
本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ...
[详细]
蜡笔小新 2023-12-14 19:45:47
-
本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ...
[详细]
蜡笔小新 2023-12-14 18:16:27
-
这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ...
[详细]
蜡笔小新 2023-12-14 16:19:10
-
本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ...
[详细]
蜡笔小新 2023-12-14 14:06:10
-
在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ...
[详细]
蜡笔小新 2023-12-14 10:57:47
-
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
-
本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ...
[详细]
蜡笔小新 2023-12-12 19:00:31
-
本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ...
[详细]
蜡笔小新 2023-12-09 09:08:01
-
本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ...
[详细]
蜡笔小新 2023-12-14 14:01:06
-
本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ...
[详细]
蜡笔小新 2023-12-13 20:24:11
-
liu-zebing_284
这个家伙很懒,什么也没留下!