Intereting Posts
WooCommerce – включение класса налога с нулевым курсом для определенных пользовательских ролей Загрузка файла Ajax с данными формы Laravel 5.3 контроллер существует, но страница не найдена Вызывает ли вызов ob_end_clean () один раз в верхней части скрипта, гарантировать, что ob_flush () никогда не требуется? Статические методы в PHP Как отправить октет / поток типа BLOB типа на сервер с помощью AJAX? Как я могу отобразить изображение из вложений документа в CouchDB? Как преобразовать GPS-координаты в полный адрес с помощью php? Сохранить динамически генерируемое текстовое поле из PHP Как Zend анализирует URL-адрес в переднем контроллере с помощью mod_rewrite? Проблема с кодировкой php: file_get_contents Нужна помощь … как добавить md5 в поле пароля в php? Сохранение и отображение изображения с использованием холста в базе данных SublimeLinter: PHP linting не работает Проблемы с PHP imap

Stripe – PHP Неустранимая ошибка: Class 'Stripe \ Charge' не найден

Я слежу за документацией Stripe, и я не могу создать «заряд».

Charge.php

require('/var/www/stripe-php-2.1.1/lib/Stripe.php'); \Stripe\Stripe::setApiKey("KEY_HERE"); \Stripe\Charge::create(array( "amount" => 400, "currency" => "usd", "source" => "TOKEN_HERE", // obtained with Stripe.js "description" => "Charge for test@example.com" )); ?> 

Я могу обработать первую команду «\ Stripe \ Stripe :: setApiKey (« KEY_HERE »); но получить ошибку при обработке следующего и получить следующую ошибку: «Class 'Stripe \ Charge» не найден в /var/www/charge.php "

Если вы не используете композитор для установки библиотеки Stripe, вам нужно будет вручную включить все классы Stripe.

Композитор является предпочтительным способом, так как он будет обрабатывать автозагрузку классов. Вот пример файла-композитора:

 { "require": { "stripe/stripe-php": "2.*" } } 

А затем из командной строки вам нужно будет запустить composer update находясь в каталоге для вашего проекта. Впоследствии просто добавьте require 'vendor/autoload.php'; в верхней части вашего php-файла.

В противном случае замените require('/var/www/stripe-php-2.1.1/lib/Stripe.php'); с этим кодом включить все классы:

 $stripeClassesDir = __DIR__ . '/stripe-php-2.1.1/lib/'; $stripeUtilDir = $stripeClassesDir . 'Util/'; $stripeErrorDir = $stripeClassesDir . 'Error/'; set_include_path($stripeClassesDir . PATH_SEPARATOR . $stripeUtilDir . PATH_SEPARATOR . $stripeErrorDir); function __autoload($class) { $parts = explode('\\', $class); require end($parts) . '.php'; } 

Вот обновленный ответ на этот вопрос.

От Даны на полосе:

Если вы предпочитаете не использовать Composer, наши последние привязки PHP (> = 2.x) включают файл init.php, который вы можете добавить в свой проект. Загрузите и распакуйте папку, где бы вы ни хотели, а затем включите этот init.php в верхней части ваших сценариев, которые вы используете для связи с API-интерфейсом Stripe, изменив путь к местоположению этого файла. Точно так же: require_once ('/ path / to / stripe-php / init.php')

И это сработало для меня.