2016-08-08 28 views
0

最近コンポーザーを使用して更新しました。更新後、私はインターコムにデータを送信しているPHPファイルにエラーが発生しています。これはエラーです:コンポーザーを更新した後にPHPインターコムが動作しない

Fatal error: Class 'Intercom\IntercomBasicAuthClient' not found in <filename> 

Symfony Exception (Class not found) only on development and production servers私は同様の問題を発見しました。しかし、問題の解決方法を正確に理解できませんでした。 私は大文字と小文字のインターコムを使ってみましたが、問題は解決しません。私installed.jsonで

私はこれが見つかりました:

"autoload": { 
      "psr-4": { 
       "Intercom\\": [ 
        "src" 
       ] 
      } 
     } 

そして、これは、インターコムのファイルのディレクトリの場所である:私はより多くの作曲を掘り下げるとき

/public_html/vendor/intercom/intercom-php/src 

を(どのように理解しようとしていたファイルクラスはすべて含まれています)、私はこのコードをautoload_namespaces.jsonで見つけました。

<?php 

// autoload_namespaces.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    'libphonenumber' => array($vendorDir . '/giggsey/libphonenumber-for-php/src'), 
    'PhpAmqpLib' => array($vendorDir . '/php-amqplib/php-amqplib'), 
); 

libphonenumberとphpamqplibは、私が作曲家を使ってインストールした2つのライブラリで、インターコムはここにはありません。

私は完全に混乱しています。実際の問題は何ですか。 autoload_namespaceにインターコムライブラリがないか、大文字小文字の問題なのですか?

編集:

この私がautoload_psr4.phpに

<?php 

// autoload_psr4.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 
    'JmesPath\\' => array($vendorDir . '/mtdowling/jmespath.php/src'), 
    'Intercom\\' => array($vendorDir . '/intercom/intercom-php/src'), 
    'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), 
    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), 
    'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), 
    'Aws\\' => array($vendorDir . '/aws/aws-sdk-php/src'), 
); 

を発見し、これは私が私のPHPファイルにインターホンを含む午前方法です:私は自分自身をそれを考え出し

use Intercom\IntercomBasicAuthClient; 

答えて

0

。 問題はPHPバージョンで発生しました。私はphp-5.5を使用していますが、インターコムライブラリにはPHPバージョン> = 5.6が厳密に必要です。

インターコムAPIを使用して独自のライブラリを作成し、php-5.5で動作させるようにしました。

関連する問題