2014-12-17 2 views
1

Это странная ошибка, которая постоянно возникает.PHP - Неустранимая ошибка Класс --- не найден

Fatal error: Class 'Guzzle\Http\Client' not found in /home/futcoins/public_html/autobuyer/classes/shopify.php on line 15

Это исходный код. Я думаю, этот вопрос довольно прямолинейный, и я застрял в этой проблеме пару дней, какие-то идеи?

use Guzzle\Http\Client; 
use Guzzle\Plugin\Cookie\CookiePlugin; 
use Guzzle\Plugin\Cookie\CookieJar\FileCookieJar; 

class Shopify { 

     //initialise the class 
    public function __construct() { 
    } 

    public function GetOrders() {  

     $client = new Client(null); //Line 15 where errors occurs 
     $request = $client->get("url"); 
     $response = $request->send(); 
     $json = $response->json(); 
     return $json; 
    } 
} 
+0

Вы должны 'include' файла, в котором' жрать \ Http \ под клиент не определён, 'директива use' не делает, что сами по себе. Вы настроили автозагрузчики или у вас есть другая стратегия для включения файлов ...? – deceze

+0

@deceze Нет. Я не настраивал автозагрузчики, поскольку я не знаю, как это работает. Могли бы вы объяснить? – Corona

+0

Начать здесь: http://php.net/manual/en/language.oop5.autoload.php – deceze

ответ

1

Так у вас есть заявление, в верхней

use Guzzle\Http\Client; 

Это означает, что вы либо автозагрузчик или включили соответствующий файл (ы) вручную. Поэтому вам нужно найти файл, который имеет этот класс, и включить его, иначе PHP будет искать код, который вы ему не предоставили.

+1

Он отлично работает на моем локальном хосте. Я не понимаю, почему он не работает на моем онлайн-сервере. Это не помогло мне. – Corona

+0

@Corona, тогда вы установили Guzzle каким-то образом на свой локальный хост, но не на удаленную машину. Пожалуйста, не забудьте, что без использования операторов 'include' или' require' PHP не будет загружать какой-либо код сам по себе. Если вы используете * Composer *, я рекомендую вам выполнить шаги в [ReadMe] (https://github.com/guzzle/guzzle/blob/master/README.md). – Lukas

+0

@ Lukas Я не уверен, как работает установка? – Corona

0

Я не уверен, что это правильное решение для вас, но у меня была точно такая же проблема, и исправить ее я обновил композитор на моем сервере и регенерировать файл автозагрузку:

sudo /usr/bin/composer.phar self-update 
/usr/bin/composer.phar dump-autoload 

Я не уверен, что это необходимо, но я также перезапустить Apache:

sudo /etc/init.d/httpd restart 

чтобы предотвратить это в будущем, и потому что мы используем Elastic Beanstalk я создал файл конфигурации, чтобы убедиться, что композитор до настоящего времени:

commands: 
    01updateComposer: 
    command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update 

option_settings: 
    - namespace: aws:elasticbeanstalk:application:environment 
    option_name: COMPOSER_HOME 
    value: /root 

Источник: http://blogs.aws.amazon.com/php/post/Tx2M04LCN1UEE0E/Reduce-Composer-Issues-on-Elastic-Beanstalk

 Смежные вопросы

  • Нет связанных вопросов^_^