ローカルマシンでUbuntu Linux 12.04 LTSを使用しています。私はずっと前にLAMPをマシンにインストールしました。次に、次のPHP拡張機能を有効にします。
まず、これらのPHP拡張機能が有効になっているかどうかを確認します。インストール/有効化されたPHP拡張をチェックする方法について多くのことを検索しましたが、Ubuntu Linuxでこれらの拡張をインストールする方法を見つけるたびに。 Ubuntu Linux 12.04 LTSで有効/無効になっているPHP拡張機能を確認する方法を教えてください。前もって感謝します。
実行に加えて
php -m
インストールされているphp modulesのリストを取得するには、Ubuntuで現在インストールされているphp packagesのリストを取得すると便利です。
Sudo dpkg --get-selections | grep -v deinstall | grep php
Ubuntuはphp modulesをpackages経由で利用可能にするため、これは役立ちます。
次に、利用可能なUbuntu php packagesから選択して、必要なmodulesをインストールします。
Sudo apt-cache search php | grep "^php5-"
または、Ubuntu 16.04以降の場合:
Sudo apt-cache search php | grep "^php7"
あなたが述べたように、あなたが必要とするかもしれないパッケージの実際のインストールに関して利用可能な多くの情報があるので、私はそれについてここで詳細に行きません。
インストール済みモジュールが無効であった可能性があります。その場合、php -m
を実行しているときは表示されませんが、インストールされているUbuntuパッケージのリストには表示されます。
モジュールは、php5enmod
パッケージの一部であるphp-common
ツール(後のディストリビューションではphpenmod
)を使用して有効/無効にできます。
buntu 12.04:
有効なモジュールは/etc/php5/conf.d
でシンボリックリンクされています
buntu 12.04:(PHP 5.4+を使用)
インストール済みモジュールをenableするには:
php5enmod <modulename>
インストール済みモジュールをdisableにするには:
php5dismod <modulename>
buntu 16.04(php7)以降:
インストール済みモジュールをenableするには:
phpenmod <modulename>
インストール済みモジュールをdisableにするには:
phpdismod <modulename>
Apacheのリロード
有効/無効にした後、Apache2をリロードすることを忘れないでください:
service Apache2 reload
この拡張機能が有効になっているかどうかを確認するには、phpファイル、つまりinfo.php
を作成し、そこに次のコードを記述します。
<?php
echo "Gd: ", extension_loaded('Gd') ? 'OK' : 'MISSING', '<br>';
echo "XML: ", extension_loaded('xml') ? 'OK' : 'MISSING', '<br>';
echo "Zip: ", extension_loaded('Zip') ? 'OK' : 'MISSING', '<br>';
?>
それでおしまい。
php -m
を介して、ターミナルを介して使用可能なモジュール(コンパイル済み)を表示できます。
検索拡張機能
/etc/php5/Apache2/php.ini
php extensions
などの詳細については、サイトをご覧ください。
新しいファイルを作成し、info.php
(または他のname.php
)という名前を付けます
次のコードを記述します。
<?php
phpinfo ();
?>
サイトのroot
(ホーム)にファイルを保存します
example.com/info.php
サイトのphp
情報がすべて表示されます。おそらく、どの拡張機能が(コンパイルおよび)ロードされているか(cliではなく)を確認する最も簡単な方法は、サーバーで次を実行することです。
<?php
$ext = get_loaded_extensions();
asort($ext);
foreach ($ext as $ref) {
echo $ref . "\n";
}
PHP cliには、必ずしも同じ拡張機能がロードされているわけではありません。