Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
garth
V2EX  ›  Linux

不解析从 Windows 复制过来的 PHP,奇怪

  •  
  •   garth ·
    imgarth · Mar 28, 2014 · 4879 views
    This topic created in 4606 days ago, the information mentioned may be changed or developed.
    原来是在Windows上安装了XAMPP环境测试写PHP的,现在写好了,放到linux上,/var/www/下面的一个子目录里,发现不能解析PHP,html的都可以正常显示。而且,直接在/var/www根目录下创建PHP是可以被成功解析的,再mkdir个新目录,下面的PHP也可以解析。唯独从Windows复制过来的不能解析,真奇怪。
    Supplement 1  ·  Mar 28, 2014
    问题已解决,是换行符的问题,使用dos2unix处理。感谢各位。
    23 replies  •  1970-01-01 08:00:00 +08:00
    9hills
    9hills
    Mar 28, 2014 via iPad❤️1
    1
    检查换行符。。
    garth
    garth
    OP
    Mar 28, 2014
    2
    @9hills 没用到换行符,用了\“,有影响?不知道怎么调试PHP呢。
    yangqi
    yangqi
    Mar 28, 2014❤️1
    3
    windows和linux的换行符不一样,要转换一下。很多editor都有这个功能
    garth
    garth
    OP
    Mar 28, 2014
    4
    @yangqi 检查了一遍,没有用到\n换行符
    VYSE
    VYSE
    Mar 28, 2014❤️1
    5
    dos2unix *.php
    lemonda
    lemonda
    Mar 28, 2014
    6
    short_open_tag ?
    JoyNeop
    JoyNeop
    Mar 28, 2014❤️1
    7
    @garth [换行符]与[转义换行]不是一回事
    yangqi
    yangqi
    Mar 28, 2014❤️1
    9
    @garth 你所有代码在一行完成的?这里说的不是你输出的换行字符,是你每敲一次回车所产生的换行符,windows和linux是不一样的
    dorentus
    dorentus
    Mar 28, 2014 via iPad
    10
    什么叫「不能解析」?具体错误信息呢?
    jedyu
    jedyu
    Mar 28, 2014❤️1
    11
    dos2unix *
    Muninn
    Muninn
    Mar 28, 2014
    12
    程序员的基础问题...
    在win上最好也把编辑器设置成unix换行
    justfindu
    justfindu
    Mar 28, 2014
    13
    你应该改一下权限吧
    solar
    solar
    Mar 28, 2014
    14
    也许是权限问题。chmod -Rf 777 试试
    wesley
    wesley
    Mar 28, 2014
    15
    看看是不是文件名大小写的问题
    jsonline
    jsonline
    Mar 28, 2014 via Android
    16
    编码问题?
    Delbert
    Delbert
    Mar 28, 2014❤️1
    17
    @solar 777 会error500的吧?755就好的啊。
    @wesley 大小写的话就直接404了。

    感觉就是换行的问题。
    @garth 整个文档没用回车?不可能的吧……
    roricon
    roricon
    Mar 28, 2014
    18
    @VYSE
    答案在这里
    wtbhk
    wtbhk
    Mar 28, 2014❤️1
    19
    UNIX到Windows有问题多半是上面说的换行符、权限、大小写这些问题
    garth
    garth
    OP
    Mar 28, 2014 via Android
    20
    @9hills
    @yangqi
    @jedyu
    @Muninn
    @Delbert
    @wesley
    @jsonline
    是换行符的问题。一开始我还以为是指\n呢。使用dos2unix命令处理下就可以了。十分感谢各位。
    cst4you
    cst4you
    Mar 28, 2014
    21
    我想多半是BOM的问题, 换行符应该还好
    infong
    infong
    Mar 28, 2014
    22
    换行对 php 的解析没多大影响。毕竟它们都是空白字符么。
    不能解析是状况是什么?是直接显示了 php 代码,还是报错?如果报错的话,错误码是什么?

    查看一下 /var/log/(apache2|nginx)/error.log 里面的错误日志,有很多有用信息的。
    另外装一个 php-cli 直接执行 `php SCRIPT.php` 一般也会有出错信息。
    csx163
    csx163
    Mar 28, 2014
    23
    用 PHP_EOL
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3568 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    ♥ Do have faith in what you're doing.