私はPHP/Apacheワールドの初心者です。 Ubuntu 14.04のhttps://askubuntu.com/questions/550191/install-php-5-4-on-ubuntu-14-04-lts-without-compilingの指示に従い、phpbrew
をインストールし、私が作業しなければならないアプリケーションがこのバージョンで開発されているため、PHPのバージョン5.3.29に切り替えました。 Apache Virtual Host
を設定し、hosts
ファイルを変更して、アプリケーションをlocal.myapp.com
としてロードしました。未定義の関数を呼び出すjson_encode - Ubuntu 14.04とphpbrewのDrupalサイトの設定
Fatal error: Call to undefined function json_encode() in /var/www/myapp/myapp.main.drupal/includes/common.inc on line 2563
は私がバリアントをインストールすることができます言うhttps://github.com/phpbrew/phpbrew#variantsに見えた:私は、アプリケーションを実行しているとき、私は次のエラーを取得しています。 Ubuntu、phpbrew、そして最後にアプリケーションの設定には長い時間がかかりました(申し訳ありませんが、私は最近PHPの世界に足を踏み入れました)。
phpbrew install 5.3.29 +json
を使用してJSONバリアントをインストールすれば、まったく新しいインストールになり、すべての設定が消去されるのではないかと心配です。
既存の設定に影響を与えずにJSONをインストールする方法がある場合は、私に提案してください。
ありがとうございます。
EDIT
私はphpbrew install +default
を使用altoughそれはJSONなしでコンパイル何らかの理由phpbrew
を使用してPHPをインストールしたとき、私は、右理解している場合は?
編集#2 phpbrew.variantsファイルを確認しました。これは、JSONが有効であることを示しています。
/home/subrara/.phpbrew/php/php-5.3.29/phpbrew.variants a:3:{s:16:"enabled_variants";a:27:{s:4:"intl";b:1;s:3:"xml";b:1;s:6:"bcmath";b:1;s:3:"bz2";b:1;s:8:"calendar";b:1;s:3:"cli";b:1;s:5:"ctype";b:1;s:3:"dom";b:1;s:8:"fileinfo";b:1;s:6:"filter";b:1;s:3:"ipc";b:1;s:4:"json";b:1;s:7:"mbregex";b:1;s:8:"mbstring";b:1;s:5:"mhash";b:1;s:6:"mcrypt";b:1;s:5:"pcntl";b:1;s:4:"pcre";b:1;s:3:"pdo";b:1;s:4:"phar";b:1;s:5:"posix";b:1;s:8:"readline";b:1;s:7:"sockets";b:1;s:9:"tokenizer";b:1;s:4:"curl";b:1;s:7:"openssl";b:1;s:3:"zip";b:1;}s:17:"disabled_variants";a:0:{}s:13:"extra_options";a:0:{}}
はしかし、私は、フォルダへの書き込み権限を与えた後、拡張機能をインストールするために、再度先に行って、その後、私はこの(申し訳ありませんが、その長い:()を得た:
[email protected]:~$ phpbrew ext install json stable
===> Installing json extension...
Log stored at: /home/subrara/.phpbrew/build/php-5.3.29/ext/json/build.log Changing directory to /home/subrara/.phpbrew/build/php-5.3.29/ext/json
===> Running make clean: /usr/bin/make -C '/home/subrara/.phpbrew/build/php-5.3.29/ext/json' --quiet 'clean'
===> Phpize...
===> Configuring...
===> Building...
===> Running make all: /usr/bin/make -C '/home/subrara/.phpbrew/build/php-5.3.29/ext/json' 'all' >> '/home/subrara/.phpbrew/build/php-5.3.29/ext/json/build.log' 2>&1
===> Installing...
===> Running make install: /usr/bin/make -C '/home/subrara/.phpbrew/build/php-5.3.29/ext/json' 'install' >> '/home/subrara/.phpbrew/build/php-5.3.29/ext/json/build.log' 2>&1
===> Extension is installed.
===> Creating config file /home/subrara/.phpbrew/php/php-5.3.29/var/db/json.ini.disabled PHP Warning: mkdir(): Permission denied in phar:///usr/bin/phpbrew/src/PhpBrew/Extension/ExtensionManager.php on line 95
Warning: mkdir(): Permission denied in phar:///usr/bin/phpbrew/src/PhpBrew/Extension/ExtensionManager.php on line 95 PHP Warning: file_put_contents(/home/subrara/.phpbrew/php/php-5.3.29/var/db/json.ini.disabled): failed to open stream: No such file or directory in phar:///usr/bin/phpbrew/src/PhpBrew/Extension/ExtensionManager.php on line 109
Warning: file_put_contents(/home/subrara/.phpbrew/php/php-5.3.29/var/db/json.ini.disabled): failed to open stream: No such file or directory in phar:///usr/bin/phpbrew/src/PhpBrew/Extension/ExtensionManager.php on line 109
===> Enabling extension json json extension is not installed. Suggestions: $ phpbrew ext install json
お返事ありがとうございました!質問は私が 'phpbrew'を使ってPHPをインストールしたため' apt-get'がインストールされているので、私の現在のPHPバージョンにパッケージを追加してコンパイルしますか?そしてこれは 'phpbrew'で行われたすべての設定をそのまま維持しますか?またすみません。私はおそらく多くの幼稚な質問をしています。私の初心者の状態を考えてください! –
私は申し訳ありませんが、 'phpbrew'の点について尋ねました –
私は5.3.29(' sudo phpbrew switch php-5.3.29')に切り替え、 'phpbrew ext install json stable'を試しましたが、** WARNING:curlデータを取得するために拡張が必要な場合があります。 エラー:PHPBREW_PHP環境変数が定義されていません。 この拡張コマンドでは、ビルドリストからPHPバージョンを指定する必要があります。 PHPBrewでビルドされたビルドからバージョンに切り替わっていないようです。 提案:好きなバージョンのPHPを少なくとも1つインストールして、それに切り替えてください。** –