Amazon EC2上的Stripe付款的PHP文件权限问题

时间:2014-10-13 12:55:39

标签: php amazon-ec2 lamp stripe-payments

我试图在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没有经验。好像我有权限问题或我没有正确引用文件。任何帮助非常感谢!

1 个答案:

答案 0 :(得分:1)

我在EC2和图像权限方面遇到了类似的问题,尽管路径是正确的,但它们会显示破损的图像图标。我意识到,当FTP到服务器时,如果我没记错的话,默认的chmod权限是600。我需要在Transmit(伟大的FTP GUI)中将它们更改为700,以使它们可执行。在您的情况下,您将需要某种可执行权限以允许运行该文件。

此外,我建议您在文件中添加ini_set('display_errors', 'On');以查看代码是否有错误,并从中推断出您的错误。

希望这有帮助。