2016-10-28 10 views
0

マシンにLAMPをインストールしたときにphp 5.6.27がインストールされていました。数日前、私は以前のPHP版と一緒にPHP 5.3.29をインストールしました。私はSymfony2のプロジェクトに作曲更新を実行しようとしたときにその後、私はエラーを取得:未知のエラー:未定義の関数を呼び出すComposer Console json_decode()

Fatal error: Uncaught Error: Call to undefined function Composer\Console\json_decode() in /usr/share/php/Composer/Console/Application.php:145 
Stack trace: 
#0 /usr/share/php/Symfony/Component/Console/Application.php(120): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#1 /usr/share/php/Composer/Console/Application.php(99): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#2 /usr/bin/composer(44): Composer\Console\Application->run() 
#3 {main} 
    thrown in /usr/share/php/Composer/Console/Application.php on line 145 

を私は現在sudo a2enmod php5.6コマンドを使用してPHP 5.6.27を有効にしています。私のブラウザでphpinfo()の出力はPHPのバージョンを 'PHP Version 5.6.27-1 + deb.sury.org〜xenial + 1'と表示します。ターミナルでは

enter image description here

下のスクリーンショットのように、また、PHP-JSONモジュールが有効になっているphp -vの出力は次のようになります。

PHP 5.6.27-1+deb.sury.org~xenial+1 (cli) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies 
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans 
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 

この記事PHP Fatal error: Call to undefined function json_decode()上の回答で示唆したように、私はsudo apt-get install php5-jsonを実行しようとした」VEのが、それは出力:

sudo: unable to resolve host utkarsh 
[sudo] password for lenovo: 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Note, selecting 'php5-common' instead of 'php5-json' 
php5-common is already the newest version (5.3.2-1ubuntu4). 
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded. 

この後、私はrestarをしましたapache2サーバーに接続しましたが、composer updateを実行しても同じエラーが表示されます。

すべてのご協力をいただきありがとうございます。

+0

https://github.com/composer/composer/issues/2092 –

+0

ありがとうございました。しかし、投稿に記載されている解決策は明確ではなく、私のために働いていません – utkarsh2k2

答えて

0

問題は、php jsonモジュールがcliで有効になっていないためです。

  • あなたのphp iniファイルのパスを見つけることが--iniPHPを試してみてください。
  • /etc/php/5.6/mods-availablejson.iniを参照してください。
  • /etc/php/5.6/cli/conf.d上記のファイルへのシンボリックリンクがあるかどうかを確認してください。
  • そうでない場合は、たとえばjson.iniへのシンボリックリンクを作成します。 20-json.ini。

php 5.6モジュールの場所は、インストール時に異なる場合があります。

関連する問題