在win中调试好的php文件在linux中执行出错怎么解决?
linux主机装的是FC2,配置了web服务器,因为在win上编写网页方便,所以我在win上也配置了apache+php+mysql的环境,但在win中运行成功的php文件复制到linux里的目录下(var/www/html/), 不能正确执行php语句,请问怎么办?前提是linux机器的web配置已经成功,但发现在其上写的php文件所有者是root,图标也是php的,而从win中复制过来的php文件所有者是上传的用户名,图标不是php的,被认成了一般的html,该怎么改过来?
谢谢! :? 什么错误? 是这样的,在win中编好的php文件,调试成功后,在linux下判断语句无效。
看文件属性,win中复制过来的php文件linux认为是一般的“html文件”,而在linux中写的php文件,属性是“php脚本”
怎么回事呢?
斑竹帮忙 :cry: ……………………………………
哪行语句?
认成 HTML 估计是因为 win 和 linux 的回车的字符不一样,导致 Lin 没有认出 <? 吧?
一般不用管它,PHP 认出来就行了。 问题查出来了!是这样的:
在win中php语句直接可以从前一网页中的表单中得到变量值,但在linux下,要用 $_POST[" 变量"]来获取变量的传递值,真是奇怪啊!
例如得到变量$zip的值,我在win环境下这样写:
if ($zip) {......} //$zip的值是自动从上一页面传递进来的
但在linux下,一定要在前面加上:
$zip = $_POST["zip"];
才能用if去判断
:?
是不是php的版本问题啊?
:? 要转移PHP文件的话,把PHP打成包,再解压出来就好了,用网络传的话,里面的部分语句会保护,所以传过去只能得到结果,而没语句~是8是能解决这个问题- -小弟很菜,说错了别怪偶哦- - 不是php版本的问题。
是因为你的 php.ini 里的设置不同。
当然,PHP 版本不同默认设置也有些许变化。
建议已 Linux 写的设置为标准,修改 Win 下的 php.ini 明白了,谢谢!
页:
[1]