php 找不到临时文件夹
原因是 php.ini upload_tmp_dir 没有设置临时上传路径
upload_tmp_dir =”../tmp/upload”
相对路径也可以
原因是 php.ini upload_tmp_dir 没有设置临时上传路径
upload_tmp_dir =”../tmp/upload”
相对路径也可以
在做 form表提交时
要用到 enctype 其中有三个选项
multipart/form-data
application/x-www-form-urlencoded
text/plain
其中
application/x-www-form-urlencoded 会造成input ->file控件不能提交文件.这一点要注意,换成
multipart/form-data 就没有问题.
php.ini 设置session.save_path 不能使用相对路径,否则会出错,要用绝对路径。路径最好要用分号括住
session.save_path = “E:/server/tmp/session”
今天下载了phpmyadmin 新版本使用,在winxp环境下使用,界面UI更换了,感觉不如以前的使用方便,重点不突出,这个还不是主要问题,问题是如果安装了eaccelerator会出现apache进程会死掉问题,log文件是这样
EACCELERATOR(3416): PHP crashed on opline 145 of mysqli_real_connect() at phpmyadminlibrariesdbimysqli.dbi.lib.php:114。
换回低版本没有问题,深追究也不是phmyadmin问题。
不显示错误:
1 2 |
error_reporting(0);ini_set('display_errors',false); |
显示错误:
1 2 |
error_reporting(E_ALL); ini_set('display_errors', true); |
今天把系统构架重新设计了一下,路径问题,一下子出来了很多.
原本我把两个文件夹放在统一目录,用files_exit判断,相对路径判断也没什么问题,今天我把其中一个目录更改了,一下子就出了很多关于路径的问题,找不到文件.
开始没有注意到问题所在,本以为是autoloader出问题了,因为我已经设置了set_include_path,怎么能files_exit还找不到.
在搜索的过程中突然看到set_include_path 中的include就恍然大悟了,set_include_path 作用范围是require 和include ,和files_exit没有关系,赶紧加上绝对路径,判断OK.
今天调试做flash 和php通信,其中要用到cook 做认证.怎么也不能提交成功,找到问题如下
cookie处理的bug主要体现在,通过非ie浏览器上传图片时,flash会将ie下的cookie发送到服务器端,从而引起cookie处理混乱。当上传的文件依赖于cookie信息时,就会出现错误的情况。比如,如果要求上传文件的用户必须已经登录,那么,如果ie下没有登录,当前这个非ie浏览器就不能上传文件,岂不是很郁闷。
这种情况的处理其实也就是抓住一点,在上传文件时,通过url将cookie信息传递到服务器端。
一种办法是flash和js取得通信,js将document.cookie信息传递给flash,flash再将信息在url的参数中传递给服务器端。
还有一种办法就是,通过flash控件的flashvars字段给flash传变量。这种办法能保证在客户端js未开启的情况下也能传递cookie信息给flash,还是比较保险的。不过,需要注意的是,cookie字符串中的空格的编码可能会导致最后解析出错。php通过urlencode编码空格时,会转化为%2B,而通过flash解析后,%2B会被解析为+,而不是空格。这有可能导致最后对用户信息的验证失败。
这种情况下的一个技巧就是,使用两次urlencode对cookie信息进行编码,最后flash传递到服务器端时,就能准确地读出原来的值了。
近期评论