amiren 发表于 2004-8-13 10:30:26

在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,该怎么改过来?

谢谢! :?

jiangtao9999 发表于 2004-8-13 10:34:10

什么错误?

amiren 发表于 2004-8-13 11:17:32

是这样的,在win中编好的php文件,调试成功后,在linux下判断语句无效。
看文件属性,win中复制过来的php文件linux认为是一般的“html文件”,而在linux中写的php文件,属性是“php脚本”

怎么回事呢?
斑竹帮忙 :cry:

jiangtao9999 发表于 2004-8-13 12:25:33

……………………………………
哪行语句?

认成 HTML 估计是因为 win 和 linux 的回车的字符不一样,导致 Lin 没有认出 <? 吧?
一般不用管它,PHP 认出来就行了。

amiren 发表于 2004-8-13 13:48:59

问题查出来了!是这样的:
在win中php语句直接可以从前一网页中的表单中得到变量值,但在linux下,要用 $_POST[" 变量"]来获取变量的传递值,真是奇怪啊!

例如得到变量$zip的值,我在win环境下这样写:
if ($zip) {......} //$zip的值是自动从上一页面传递进来的
但在linux下,一定要在前面加上:
$zip = $_POST["zip"];
才能用if去判断
:?

是不是php的版本问题啊?
:?

winday 发表于 2004-8-13 14:29:49

要转移PHP文件的话,把PHP打成包,再解压出来就好了,用网络传的话,里面的部分语句会保护,所以传过去只能得到结果,而没语句~是8是能解决这个问题- -小弟很菜,说错了别怪偶哦- -

jiangtao9999 发表于 2004-8-13 15:42:36

不是php版本的问题。
是因为你的 php.ini 里的设置不同。

当然,PHP 版本不同默认设置也有些许变化。
建议已 Linux 写的设置为标准,修改 Win 下的 php.ini

amiren 发表于 2004-8-13 15:54:54

明白了,谢谢!
页: [1]
查看完整版本: 在win中调试好的php文件在linux中执行出错怎么解决?