Où se trouve PHP.ini dans Mac OS X Lion? Je pensais que c'était dans / usr / local / php5 / lib


268

Je voulais exécuter PHP directement sur mon Mac, httpd.conf non commenté, le partage Web activé, MySQL installé, etc. Je n'arrive pas à trouver mes fichiers PHP, surtout PHP.ini.

Sur mon ancienne machine, il se trouvait dans / usr / local / php5 / lib Mais le répertoire php5 n'existe pas dans / usr / local ..

Dois-je obtenir un colis ou est-ce que je cherche au mauvais endroit?

Sous OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21


9
Un moyen facile de trouver l'emplacement est d'exécuter phpinfo ();
ralfe

10
Oulocate php.ini
Pekka

12
@ralfe Il convient d'ajouter que vous devez rechercher le paramètre «Fichier de configuration chargé» à partir de phpinfo () ou php --ini(exécuté dans la fenêtre du terminal). Parce que s'il n'y a pas de php.ini, les deux indiqueront le chemin du fichier de configuration en tant que /etc(au moins sur mon installation OS X 10.8). Si aucun fichier de configuration n'est chargé, alors vous devriez essayer la réponse par mac
Jason S

/ usr / local / php5 est l'endroit où l'installateur php d'entropy.ch et liip.ch installent (ed) php. Il n'a jamais été l'emplacement de l'installation php d'Apple.
heiglandreas

8
Faites ceciphp -i | grep php.ini

Réponses:


396

Vous devriez le trouver dans / private / etc s'il existe, sinon:

sudo cp /private/etc/php.ini.default /private/etc/php.ini

D'accord, il y a un défaut php.ini.de dans / private / etc et je le vérifie. mais une idée pourquoi je n'ai pas mon ancien dossier php5 dans usr / local? Il y avait auparavant un tas de fichiers, y compris un php.ini recommandé. S'agit-il d'un changement dans une version plus récente ou PHP5 ou Lion ou autre chose?
Orun

PHP5 est inclus par défaut dans MacOS X depuis 10.5 avec l'emplacement ci-dessus pour le fichier php.ini. Si vous l'aviez installé manuellement, il n'aurait pas dû être supprimé lors de la mise à niveau vers Lion; étrange ...
mac

2
Le fichier php.ini.default sur ma machine Lion ne correspondait pas à tous les paramètres par défaut lorsqu'aucun php.ini n'était présent. Notamment short_tags était désactivé, error_reporting, log_errors et certains paramètres mineurs différaient. Vous voudrez comparer votre sortie d' php -iavant et après avoir créé votre php.ini.
spoulson

1
sur mon mac, j'avais un fichier dans /private/etc/php.ini mais php semblait ignorer toutes les modifications que j'y avais apportées, il a trouvé qu'il utilisait celui dans /usr/local/php5/lib/php.ini à la place
Kit Ramos

2
Cette réponse m'a orienté dans la bonne direction. cp php.ini.default> php.ini et la configuration chargée CLI est devenue /etc/php.ini. Vérifiez php -i | grep php.ini après
bpile

408

Pour localiser le fichier ini sur votre ordinateur, ouvrez Terminal.appet exécutez la commande suivante:

php --ini

Si vous avez besoin d'un modèle pour Lion, essayez ceci .


2
Je n'ai pas de php.ini chargé en ce moment. Fondamentalement, je recherche le répertoire avec le modèle php.ini "recommandé".
Orun

47

Dans le terminal, faites php -i | grep php.ini. Devrait vous donner quelques indices;)


26

Les réponses de @Cronk et @Justin m'ont rapproché sur Mac OS X 10.9 Mavericks. En fait, sur mon système, le /etc/php.inifichier manquait complètement, et ce n'est que lorsque j'ai couru phpinfo()sur le serveur Web que j'ai constaté qu'il n'y avait pas de fichier de configuration. La copie du fichier à partir de /etc/php.ini.defaultet l'ajout du chemin d' accès complet à la mcrypt.sobibliothèque dans le fichier de configuration a résolu le problème:

cp /etc/php.ini.default /etc/php.ini

Ensuite, /etc/php.iniajoutez la ligne suivante (en utilisant le chemin d'accès correct à votre mcrypt.sofichier):

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

Redémarrez ensuite Apache2:

apachectl restart

omg, tu es mon héros !! merci pour l'idée d'utiliser le chemin complet de mcrypt!
Hese

25

Comme indiqué, la php --inicommande vous indiquera où PHP s'attend à trouver le fichier php.ini.

Pour une installation standard, il est probable /etc/php.ini

Si vous avez utilisé des macports, PHP peut rechercher/opt/local/etc/php5/php.ini


7
etc est un lien vers private / etc: / etc -> private / etc
pm_labs

21

Exécutez à phpinfo()partir de n'importe quel fichier et il vous indique où il se trouve. Voici une capture d'écran.

entrez la description de l'image ici


3
c'est la meilleure façon de procéder, car vous trouverez peut-être des copies du php.ini dans d'autres dossiers "par défaut", mais de cette façon, vous verrez celui qu'il utilise réellement, de cette façon vous éviterez les rayures et la frustration de la tête qui surviennent lorsque vous faire un changement mais php semble ignorer totalement ce changement.
Kit Ramos

Vous pouvez également ouvrir le php REPL dans votre shell en exécutant php -aoù vous exécutez ensuite phpinfo();.
metakermit

14

J'ai plusieurs instances de PHP en cours d'exécution, les autres réponses n'ont donc pas fonctionné pour moi. Cela a:

Créez un fichier PHP et ouvrez son URL locale dans votre navigateur:

<?php phpinfo(); ?>

Le chemin PHP.INI sera répertorié en haut.


3

Il s'agit d'un fil plutôt ancien, mais je voudrais ajouter une précision supplémentaire.

Si vous avez un système qui a plusieurs installations PHP (comme le mien), les résultats que vous obtenez en utilisant les outils de ligne de commande PEUVENT ÊTRE différents de ceux qui sont réellement utilisés par le serveur Web. Si vous êtes intéressé par ce que PHP est utilisé par le serveur Web, utilisez uniquement les informations recueillies à partir d'une page Web qui utilise la fonction 'phpinfo ()'.

Par exemple, sur mon système, les versions signalées par les deux méthodes différentes étaient:

Ligne de commande: 5.3.26

Web: 5.3.13

Pour le chemin du fichier php.ini, les choses étaient également différentes:

Ligne de commande: /private/etc/php.ini

Web: /long/path/to/the/file/php.ini

Vous pouvez trouver tous les fichiers php.ini possibles en utilisant ceci:

find / -name php.ini 2> & 1 | grep -v "refusé" | grep -v "répertoire"

(les éléments '2> & 1' et 'grep' limitent simplement la sortie de la commande aux informations utiles, c'est-à-dire se débarrassent des messages d'erreur)

Sur mon système, j'ai trouvé 3 fichiers INI. Parce que j'étais intéressé par ce que le serveur Web utilisait, je savais que je devais utiliser le chemin renvoyé par les résultats de la page Web. J'ai apporté mes modifications au fichier php.ini qui y était répertorié, redémarré apache et relancé la page Web; les nouvelles modifications y ont été montrées.

Pour redémarrer apache:

sudo apachectl -k restart

- J


1

Je commence par le "Bonjour tout le monde!", Une fois que j'ai obtenu cet affichage dans mon navigateur, j'y ajoute un phpinfo();et vous pouvez voir toutes les choses. Vous dit quelles configurations sont chargées, tout.

<?php
   echo 'Hello World!';

   phpinfo();

0

Vous exécutez php_info () et voyez la ligne ci-dessous :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.