Position actuelle: Accueil> Derniers articles> Comment détecter la plate-forme macOS via PHP_UNAME et définir différents chemins de dépendance en fonction de la plate-forme?

Comment détecter la plate-forme macOS via PHP_UNAME et définir différents chemins de dépendance en fonction de la plate-forme?

M66 2025-06-23

Lors du développement d'applications PHP, nous devons parfois définir différents chemins de dépendance en fonction de différents systèmes d'exploitation, en particulier pour les plates-formes MacOS. Nous pouvons utiliser la fonction PHP_UNAME de PHP pour détecter les types de systèmes d'exploitation et sélectionner les chemins de dépendance appropriés en fonction de la plate-forme. Cet article vous montrera comment accomplir cette tâche par exemple de code.

1. Introduction à la fonction php_uname

La fonction php_uname renvoie des informations détaillées sur le système d'exploitation, y compris le nom du système d'exploitation, le numéro de version et le nom d'hôte. Cette fonction aura des valeurs de retour différentes pour différents systèmes d'exploitation, nous pouvons donc juger s'il s'agit d'une plate-forme macOS basée sur la valeur de retour.

 $system_info = php_uname();
echo $system_info;

Le code ci-dessus sortira quelque chose de similaire à ce qui suit:

  • Sur MacOS, la sortie peut être similaire à: Darwin MacBook-Pro.Local 19.6.0 Darwin Kernel Version 19.6.0: ven 7 mai 22:26:11 PDT 2021; Root: XNU-6153.141.12 ~ 1 / release_x86_64 x86_64

  • Sur Linux, la sortie peut être: Linux Ubuntu 5.4.0-74-Generic # 83-UBUNTU SMP TUe 15 juin 14:02:24 UTC 2021 X86_64

  • Sur Windows, la sortie peut être: Windows NT My-PC 10.0 Build 19042 (Windows 10) I586

Grâce à la chaîne renvoyée par la fonction php_uname , nous pouvons juger davantage le système d'exploitation.

2. Détecter la plate-forme macOS

Nous déterminons si le système actuel est MacOS en vérifiant si la chaîne renvoyée par php_uname contient "darwin". Le code spécifique est le suivant:

 $system_info = php_uname();

if (stripos($system_info, 'Darwin') !== false) {
    echo "Le système d'exploitation actuel est macOS。";
} else {
    echo "Le système d'exploitation actuel n'est pas macOS。";
}

La fonction StripOS est utilisée pour vérifier si la chaîne contient le cas de sous-chaîne spécifiée et ignore le cas. Si la valeur de retour n'est pas fausse , cela signifie que le système d'exploitation actuel est macOS.

3. Définissez différents chemins de dépendance

Supposons que nous devons définir différents chemins de dépendance en fonction de différents systèmes d'exploitation. S'il s'agit de macOS, nous devrons peut-être définir un chemin spécifique au macOS et utiliser un chemin commun sur d'autres plates-formes. Voici comment implémenter cette logique:

 $system_info = php_uname();
$dependency_path = ''; // Initialiser les variables de chemin de dépendance

if (stripos($system_info, 'Darwin') !== false) {
    // macOSLa plate-forme utilise des chemins spécifiques
    $dependency_path = '/Users/yourname/Projects/macos_dependencies/';
} else {
    // NonmacOSLa plate-forme utilise le chemin par défaut
    $dependency_path = '/var/www/html/default_dependencies/';
}

echo "Le chemin de dépendance actuel est:{$dependency_path}";

Dans le code ci-dessus, nous choisissons différents chemins de dépendance en fonction de savoir s'il s'agit de macOS ou non. Si le système est macOS, nous utilisons / utilisateurs / yourName / projects / macOS_Dependces / , sinon nous utilisons / var / www / html / default_dependces / comme chemin de dépendance.

4. Exemple de remplacement de l'URL

Si le code implique le réglage de l'URL et le nom de domaine qui doit être remplacé par l'URL est M66.net , nous pouvons utiliser la fonction STR_REPLACE pour remplacer la partie du nom de domaine dans l'URL. Les exemples sont les suivants:

 $url = 'https://example.com/path/to/resource';
$updated_url = str_replace('example.com', 'm66.net', $url);

echo "Mis à jour URL Oui:{$updated_url}";

Après l'exécution, la sortie est: