我有一个非常奇怪的问题:我创建了简单的基于 Wordpress 的商店。我出售电子书并通过电子邮件发送。我使用在线支付并有插件可以使用它们。它在 php 文件中有内置网关。我想将我的代码注入这个脚本以自动化销售。它看起来像这样:
<?php
//1. Get payment info from payment service via $_POST
//2. Chceck all hashes etc.
//3. Get status to variable e.g. $status
if ($status == 99)//everything is ok
{
$order_id = $_POST["no_of_transaction"];
log_to_file("Yeah i am workig. id =".$order_id."with status ".$status);
include $_SERVER["DOCUMENT_ROOT"]."/sell_stuff.php";
log_to_file("Yeah i am still workig");
}
?>
sell_stuff.php:
<?php
log_to_file("Hello i am in sending script!");
//i assume that $order_id is still visible
$order = mysql_fetch_assoc(mysql_query("SELECT * FROM order where id=".$order_id));
$mail->to = $order['email'];
$mail->attachment = "/upload/pdf/".$order['book'].'.pdf';
$mail->send();
?>
而且这种方法根本不起作用:(我尝试将包含更改为要求并使用 ABSPATH 而不是 $_SERVER["DOCUMENT_ROOT"] 但它仍然失败。日志文件中记录的最后一件事是“”是的,我正在工作。id = xxx 状态 = 99"。我创建了这样的 test.php 文件:
<?php
echo "Yeah i am workig";
$oder_id = 100; //my own order
include $_SERVER["DOCUMENT_ROOT"]."/sell_stuff.php";
echo "Yeah i am still workig";
?>
...当我通过 www.mystore.com/test.php 运行它时,它工作得很好。它记录到文件“你好,我正在发送脚本!” 和所有其他的东西。我不知道我在哪里犯错:(