【问题标题】:Is there something like `<?php phpinfo(); ?>` in Perl?有没有类似`<?php phpinfo(); ?>` 在 Perl 中?
【发布时间】:2011-04-14 00:33:53
【问题描述】:

Perl 中有类似&lt;?php phpinfo(); ?&gt; 的东西吗?

【问题讨论】:

  • 请注意!你不需要;。 ?> 添加一个;。所以

标签: php perl


【解决方案1】:

为了清楚起见,我已经包含了 bash 提示符。

$ perl --version # This is what I would use

【讨论】:

  • 它应该从脚本调用,而不是从控制台调用。还是谢谢!
  • # oops, the perl in the path is not the one running this script. you were running suid and "perl" was actually a shell script placed into $PATH that deletes everything on the system. (at least your script got deleted too.)
  • 如果要获取版本,只需在程序内部使用$^V变量即可。
  • @jrockway:如果是这种情况,那么您遇到的问题更大,那么脚本错误,主要是存在高水平的笨蛋。
  • @Josh:不,这里的主要问题是你做错了事。您的答案中的“perl”可能不是唯一的或您打算使用的。当有更好的答案时,用其他问题分心来捍卫这样一个可怜的人是没有意义的。从一开始就做好。
【解决方案2】:
use Config qw(myconfig);

print myconfig();

打印perl -V 所做的大部分信息。您还可以通过Config 模块获取该信息的各个元素。

【讨论】:

    【解决方案3】:

    你想知道什么信息? phpinfo 显然告诉你几乎所有事情:

    输出大量关于 PHP 当前状态的信息。这包括有关 PHP 编译选项和扩展、PHP 版本、服务器信息和环境(如果编译为模块)、PHP 环境、操作系统版本信息、路径、配置选项的主值和本地值、HTTP 标头和 PHP许可。

    您可以在 Perl 中以某种方式获得大部分内容,但不能全部来自同一个地方。

    • Perl 附带的Config 模块具有解释器的编译选项
    • Probe::Perl 可能会为您提供更好的界面
    • $^V 拥有当前解释器的版本(见perlvar
    • %ENV 有环境(见perlvar
    • 您可以使用Devel::CheckOS 模块了解操作系统
    • 除非您使用 mod_perl,否则您的 Perl CGI 脚本可能无法直接访问 HTTP 标头

    【讨论】:

      【解决方案4】:

      只是为了添加,不要忘记在文件中添加 Perl bin 路径。

      我使用的示例脚本如下:

      确保以下行是文件中的第一行:

      #!/usr/bin/perl
      

      或者对于 windows,可能类似于(取决于您的环境):

      #!C:/wamp/bin/Perl64/bin/perl.exe
      

      片段:

      #!/usr/bin/perl
      # test.cgi by Bill Weinman [http://bw.org/]
      # Copyright 1995-2008 The BearHeart Group, LLC
      # Free Software: Use and distribution under the same terms as perl.
      
      use strict;
      use warnings;
      use CGI;
      
      print foreach (
          "Content-Type: text/plain\n\n",
          "BW Test version 5.0\n",
          "Copyright 1995-2008 The BearHeart Group, LLC\n\n",
          "Versions:\n=================\n",
          "perl: $]\n",
          "CGI: $CGI::VERSION\n"
      );
      
      my $q = CGI::Vars();
      print "\nCGI Values:\n=================\n";
      foreach my $k ( sort keys %$q ) {
          print "$k [$q->{$k}]\n";
      }
      
      print "\nEnvironment Variables:\n=================\n";
      foreach my $k ( sort keys %ENV ) {
          print "$k [$ENV{$k}]\n";
      }
      

      来源:http://cgi.bw.org/cgi-t/

      【讨论】:

        猜你喜欢
        • 2015-10-31
        • 2010-11-09
        • 2011-04-17
        • 2010-10-08
        • 2010-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多