Я пытаюсь настроить базовый пример страницы Stripe Checkout для экземпляра EC2, но не могу получить ответ от файлов, которые ссылаются на другие файлы PHP. я следую этот пример на GitHub.
У меня есть каталог, расположенный в / var / www / html /, который содержит все мои файлы PHP, и еще один каталог под ним (в / var / www / html / stripe /), который содержит библиотеку 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' => '[email protected]',
'card' => $token
));
$charge = Stripe_Charge::create(array(
'customer' => $customer->id,
'amount' => 5000,
'currency' => 'usd'
));
echo '<h1>Successfully charged $50.00!</h1>';
?>
Я пытался изменить относительные ссылки на файлы (например, с «./charge.php» на «charge.php», что кажется логичным), но я никуда не попал.
Я довольно новичок в PHP за пределами локальной среды, и у меня нет такого опыта работы с Linux. Похоже, у меня проблема с правами доступа или я не правильно ссылаюсь на файлы. Любая помощь высоко ценится!
У меня была похожая проблема с EC2 и разрешениями для изображений, когда они отображались со значком разорванного изображения, хотя пути были правильными. Я понял, что когда FTP подключен к серверу, разрешения chmod по умолчанию были 600, если я правильно помню. Мне нужно было изменить их на 700 в Transmit (отличный графический интерфейс FTP), чтобы они были исполняемыми. В вашем случае вам понадобится какое-то разрешение для запуска исполняемого файла.
Кроме того, я бы порекомендовал добавить ini_set('display_errors', 'On');
в вашем файле, чтобы увидеть, если это ошибка кода или нет, и сделать вывод, что ваши ошибки могут быть оттуда.
Надеюсь это поможет.
Других решений пока нет …