comment changer le chemin des fenêtres php ini

12

J'ai téléchargé php, l'ai ajouté à mon chemin et j'essaye d'activer openssl

php --ini me dit que le fichier de configuration est c: \ windows où il n'y avait rien, je ne veux pas copier php dans c / windows.

Comment puis-je changer cela pour pointer vers mon dossier php?

Client
la source

Réponses:

10

Vous n'avez pas besoin de mettre quoi que ce soit à voir avec PHP n'importe où près du c:\windowsdossier.

Si vous le faites, cela ne servira qu'à vous gâcher lorsque vous mettez à niveau PHP vers une nouvelle version.

Si vous CD dans le dossier où PHP est installé et faites-le, php --iniil lira le fichier php.ini du dossier dans lequel vous vous trouvez.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Je pense que c'est aussi une mauvaise idée de mettre le dossier d'installation PHP dans le chemin Windows.

Tout ce dont vous avez besoin est un petit fichier batch qui configurera votre PATH pour la durée de la fenêtre de commande que vous utilisez et le placera dans l'un des dossiers qui se trouve déjà dans le PATH de Windows.

Donc, en supposant que vous avez installé PHP dans C:\phpce fichier, c'est le fichier batch

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

Et vous exécutez ensuite ce fichier de commandes chaque fois que vous ouvrez une fenêtre de commande et que vous souhaitez exécuter du code PHP et que votre environnement est configuré. Vous pouvez également ajouter d'autres éléments à ce fichier de commandes lorsque vous avez besoin d'ajouter d'autres éléments à votre environnement, comme Composer, etc.

RiggsFolly
la source
Oui! Cela fonctionne pour moi. PHP.ini est meilleur avec PHP.exe dans le même dossier afin que Web et CLI PHP puissent se référer au même PHP.ini.
Scott Chu
@ScottChu Pas vraiment, ce sont 2 environnements différents et dans la vraie vie, vous voulez souvent des configurations différentes pour les deux.
RiggsFolly
4

Selon la documentation:

Le fichier de configuration (php.ini) est lu au démarrage de PHP. Pour les versions de module serveur de PHP, cela ne se produit qu'une seule fois au démarrage du serveur Web. Pour les versions CGI et CLI, cela se produit à chaque appel.

php.ini est recherché dans ces emplacements (dans l'ordre):

  • Emplacement spécifique du module SAPI (directive PHPIniDir dans Apache 2, option de ligne de commande -c dans CGI et CLI, paramètre php_ini dans NSAPI, variable d'environnement PHP_INI_PATH dans THTTPD)
  • La variable d'environnement PHPRC. Avant PHP 5.2.0, cela était vérifié après la clé de registre mentionnée ci-dessous.
  • Depuis PHP 5.2.0, l'emplacement du fichier php.ini peut être défini pour différentes versions de PHP. Les clés de registre suivantes sont examinées dans l'ordre: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] et [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], où x, y et z signifient la majeure PHP, versions mineures et de sortie. S'il existe une valeur pour IniFilePath dans l'une de ces clés, la première trouvée sera utilisée comme emplacement du php.ini (Windows uniquement).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], valeur de IniFilePath (Windows uniquement).
  • Répertoire de travail actuel (sauf CLI).
  • Le répertoire du serveur web (pour les modules SAPI), ou le répertoire de PHP (sinon sous Windows).
  • Répertoire Windows (C: \ windows ou C: \ winnt) (pour Windows), ou option de temps de compilation --with-config-file-path.

Vous devez essayer la PHPRCvariable d'environnement ou la clé de registre [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].

Cornelius
la source
0

J'ai tout essayé sans succès. changé l'apache httpd.conf, php.ini et plusieurs autres tentatives, toujours abouti au fichier de configuration chargé - (aucun). Enfin, j'ai copié tous les fichiers du répertoire php dans le répertoire C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin et tout a commencé à fonctionner. À la perfection. Malheureusement, ce n'est pas la solution parfaite, mais cela a fonctionné.

Gunther
la source