我试图在EC2实例上设置一个基本的Stripe Checkout页面示例,但我似乎无法从引用其他PHP文件的文件中获得任何响应。我跟随this example on GitHub。
我在/ var / www / html /设置了一个目录,其中包含我的所有PHP文件以及包含Stripe库的下面的另一个目录(在/ var / www / html / stripe /)。我可以成功运行phpinfo.php和其他PHP文件,但每当我尝试从另一个文件运行任何东西时,它都不会响应。
这是我的档案:
checkout.php
<?php require_once('./config.php'); ?>
<form action="charge.php" method="post">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<?php echo $stripe['publishable_key']; ?>"
data-amount="5000" data-description="One year's subscription"></script>
</form>
的config.php
<?php
require_once('./stripe/lib/Stripe.php');
$stripe = array(
"secret_key" => "sk_test_mykey",
"publishable_key" => "pk_test_mykey"
);
Stripe::setApiKey($stripe['secret_key']);
?>
charge.php
<?php
require_once(dirname(__FILE__) . '/config.php');
$token = $_POST['stripeToken'];
$customer = Stripe_Customer::create(array(
'email' => 'customer@example.com',
'card' => $token
));
$charge = Stripe_Charge::create(array(
'customer' => $customer->id,
'amount' => 5000,
'currency' => 'usd'
));
echo '<h1>Successfully charged $50.00!</h1>';
?>
我已经尝试更改相关文件引用(例如,从&#39; ./ charge.php&#39;到&#39; charge.php&#39;这似乎是合乎逻辑的)但我没有&#39;无处可去。
我在本地环境之外对PHP很新,而且我对Linux没有经验。好像我有权限问题或我没有正确引用文件。任何帮助非常感谢!
答案 0 :(得分:1)
我在EC2和图像权限方面遇到了类似的问题,尽管路径是正确的,但它们会显示破损的图像图标。我意识到,当FTP到服务器时,如果我没记错的话,默认的chmod权限是600。我需要在Transmit(伟大的FTP GUI)中将它们更改为700,以使它们可执行。在您的情况下,您将需要某种可执行权限以允许运行该文件。
此外,我建议您在文件中添加ini_set('display_errors', 'On');
以查看代码是否有错误,并从中推断出您的错误。
希望这有帮助。