PHP注意事项(陆续更新)

个人在工作中遇到的一些问题,本人很菜,望朋友们多多指点

 

1、在调用PHP扩展的相关函数前确保php.ini已经开启了相应的扩展调用,并且在扩展文件夹里有相应的扩展动态库

                   公司内部成员信息,分组信息全部存在LDAP中,项目需要从LDAP进行用户合法性验证,在自己的机器上部署环境进行开发,弄了半天测试环境都没有弄好也不知道是什么原因,最后才发现原来没有修改Php.ini文件没有加载扩展库

 

2、对于某些linux机器上的问题可以调用Linu命令

                   服务器环境是linux,自己测试机环境是windows,需要对bz2文件进行操作,测试环境上很简单,修改php.ini文件加载bz2的扩展执行相关函数即可,到了服务器出问题了发现服务器上没有扩展的动态库又不能轻易修改服务器上的配置信息,问项目经理看能否在服务器上装上动态库,回答“没有动态库,有linux命令啊”   php中  shell_exec('bzcat  *.bz2')就获得了文件内容已不搞定比动态库更简单。


3、上一步调用linux命令,exec,shell_exec,system

                    用知道的exec命令获取文件内容结果弄了好久文件内容是获取到了,结果只有一行数据,郁闷ING,最后求助csdn,qq群用shell_exec,system解决问题

 

4、上两步调用Linux命令对文件操作,看是否有操作权限

                    很有趣项目中我两次调用shell_exec操作bz2文件第一个文件可以获取到内容,第二个不知道为什么没有内容返回,反复试验不得其解,将命令直接到linux机器上能正确获取内容,弄了估计半个多小时,都准备好要问前辈了  突然想到是不是没有权限啊,结果一看第二个文件权限果然有问题,添加组用户和其他用户的读权限一切搞定,linux不是windows,权限很分明

 

5、临时开启错误提示

                    程序代码经过测试放到服务器上有可能会跑不同,这个很正常,有时候就一个白板,自己又不知道日志文件在哪怎么办,可以临时开启错误提示,ini_set('display_errors',1);代码跑通后去掉这行就行了

 

6、inlude_once无法打开文件而文件确实存在

                    这种情况只有两种原因权限问题,和代码问题

                   

                   像这个地方就因为一个很小的空格,弄了我好久,所以一定要注意权限,及空格和标点的问题

 

7、json_decode后数据存到mysql中文会出问题

                    mysql在数据保存的时候为了安全,会对数据进行一定的处理。例如/u你直接提交的话会保存为u。这几天倒弄网站的时候就遇到了问题,对数据进行json包装保存到mysql里面,当数据中还有中文的时候,从数据库提取数据就变了。经过多次查找资料发现正常情况下我的数据提交到数据库中文编码应该是以/u...存在,而实际上/都被过滤掉了。最后找到了个办法   $json = json_encode($string);

$json = addslashes($json);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值