PHPアプリケーションを開発する場合、特にMacOSプラットフォーム向けに、異なるオペレーティングシステムに従って異なる依存関係パスを設定する必要がある場合があります。 PHPのPHP_UNAME関数を使用して、オペレーティングシステムの種類を検出し、プラットフォームに基づいて適切な依存関係パスを選択できます。この記事では、サンプルコードを介してこのタスクを達成する方法を示します。
PHP_UNAME関数は、オペレーティングシステム名、バージョン番号、ホスト名を含むオペレーティングシステムに関する詳細情報を返します。この関数には、異なるオペレーティングシステムの返品値が異なるため、返品値に基づいてMacOSプラットフォームであるかどうかを判断できます。
$system_info = php_uname();
echo $system_info;
上記のコードは、次のようなものを出力します。
MACOSでは、出力は次のように似ている場合があります。DarwinMacBook -Pro.Local19.6.0 Darwin Kernelバージョン19.6.0:Fri 5月7日22:26:11 PDT 2021; root:xnu-6153.141.12〜1/release_x86_64 x86_64
Linuxでは、出力は次のとおりです。LinuxUbuntu5.4.0-74 -Generic#83-Uubuntu SMP TUE Jun 15 14:02:24 UTC 2021 X86_64
Windowsでは、出力は次のとおりです。
php_uname関数によって返される文字列を介して、オペレーティングシステムをさらに判断できます。
PHP_UNAMEによって返された文字列に「ダーウィン」が含まれているかどうかを確認することにより、現在のシステムがMACOSかどうかを判断します。特定のコードは次のとおりです。
$system_info = php_uname();
if (stripos($system_info, 'Darwin') !== false) {
echo "現在のオペレーティングシステムはです macOS。";
} else {
echo "現在のオペレーティングシステムはそうではありません macOS。";
}
StripOS関数は、文字列に指定されたサブストリングが含まれており、ケースを無視するかどうかを確認するために使用されます。返品値が偽でない場合、現在のオペレーティングシステムがmacOSであることを意味します。
異なるオペレーティングシステムに従って、異なる依存関係パスを設定する必要があるとします。それがMACOSの場合、MacOS固有のパスを設定し、他のプラットフォームで共通のパスを使用する必要がある場合があります。このロジックを実装する方法は次のとおりです。
$system_info = php_uname();
$dependency_path = ''; // 依存関係のパス変数を初期化します
if (stripos($system_info, 'Darwin') !== false) {
// macOSプラットフォームは特定のパスを使用します
$dependency_path = '/Users/yourname/Projects/macos_dependencies/';
} else {
// いいえmacOSプラットフォームはデフォルトのパスを使用します
$dependency_path = '/var/www/html/default_dependencies/';
}
echo "現在の依存関係パスはです:{$dependency_path}";
上記のコードでは、MacOSかどうかに基づいて、異なる依存関係パスを選択します。システムがmacOSの場合、 /users/yourname/projects / macos_dependencies/を使用します。
コードにURLの設定が含まれ、URLに置き換える必要があるドメイン名がM66.netである場合、 STR_REPLACE関数を使用してURLのドメイン名パーツを置き換えることができます。例は次のとおりです。
$url = 'https://example.com/path/to/resource';
$updated_url = str_replace('example.com', 'm66.net', $url);
echo "更新 URL はい:{$updated_url}";
実行後、出力は次のとおりです。