gpt4 book ai didi

php - 将 CGI 命令行参数传递给 PHP 文件

转载 作者:行者123 更新时间:2023-12-02 01:13:47 25 4
gpt4 key购买 nike

一家公司正在向我的网站发送信息,他们希望将其发送到一个 CGI 文件中:

mysite.com/cgi-bin/process.cgi?custid=ab123&amount=12345

我必须将参数数据写入 MySql 数据库,我宁愿使用 PHP(因为我不懂 cgi)。如何将 url 参数传递给我的 php 脚本?另外,如果我重定向到一个 php 文件,发件人会知道我在做什么吗?我不能只从 cgi 脚本“调用”php 文件吗?

最佳答案

要将 PHP 脚本作为 CGI 运行,您需要了解这些

  1. 由于 CGI PHP 不会作为 apache 处理程序运行,而是作为进程运行。
  2. PHP 不会填充 $_GET$_POST
  3. 你的 php 文件应该是可执行的 chmod +x
  4. shebang 行应该是 #!/usr/bin/env php#!/usr/bin/php
  5. GET 数据应从 QUERY_STRING 和 POST 中读取,PUT 数据应从 STDIN 中读取。
  6. HTTP header 应手动发送。

所以你的 process.cgi 看起来像这样,

#!/usr/bin/env php-cli
<?php
// populating $_GET
$_GET=parse_str(getenv('QUERY_STRING'));
$custid=$_GET['custid'];
$amount = $_GET['amount'];
// do work

echo "Content-type: text/html\r\n";
echo "Connection: Close\r\n\r\n";
// start output here.
?>

关于php - 将 CGI 命令行参数传递给 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com