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

Orun
la source
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
Mac
la source
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 .

rkmax
la source
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;)

SpoBo
la source
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
Peter Gluck
la source
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

Joat
la source
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

Robert Rocha
la source
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.

Justin
la source
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

Cronk
la source
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();
CenterOrbit
la source
0

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

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Quy Le
la source