我为了让PHP脚本可以作为LINUX shell去执行,加了这段声明。但是如何不显示在网页中?

解决方案 »

  1.   

    嗯...如果是apache解析的,的确是不显示#!的信息的
    但如果是nginx+php-fpm,会显示出来....
    具体原因,没研究过...
      

  2.   

    没办法的,只能建议你把两个应用场景分开来处理。
    或者你也可以指定解析器  /usr/bin/php -f filename
      

  3.   

    但 #!/usr/bin/php 本身就是指定解析器用的
      

  4.   

    你用php cli 来跑不行吗?非要shell?
      

  5.   


    貌似是这样,#!/usr/bin/php 是否会在页面中显示,貌似和php的cgi、cli模式有关...
      

  6.   

    着急回帖,我没表达清楚
    #!/usr/bin/php
    <?php这种形式如果不在web服务器的cgi模式下,就会被输出,没有其它的办法能阻止。
    因此我的建议是放弃文件开头指定解析器的这种做法。转而在shell下用 /usr/bin/php -f filename 来执行
      

  7.   

    噢,怎么现在的 linux 变得那么奇怪了?
      

  8.   

    我怎么linux下apache/nginx + php-fpm 都会显示?难道是windows环境下的apache不显示吗?
    #!指定编译器路径是linux脚本规范,不管你是php还是python还是sh..
    显示其实很好理解,毕竟#出现在<?php标签外。
    不显示可能是做了什么处理吧。
      

  9.   

    建议根据应用场景来处理了,或者你也可以指定解析器 /usr/bin/php -f filename
      

  10.   

    能不能吧他隐藏。比如display :onl