J'ai besoin d'activer pdo_mysql dans mon environnement EasyPhp, donc je suis allé dans le fichier php.ini et je n'ai pas commenté la ligne suivante:
extension=php_pdo_mysql.dll
Malheureusement, j'ai toujours le même problème. J'utilise la CLI, donc je suppose que je dois localiser le fichier php.ini utilisé par la CLI. Comment le trouver?
Réponses:
Exécutez simplement
php --ini
et recherchezLoaded Configuration File
dans la sortie l'emplacement dephp.ini
votre CLIla source
sudo find / -iname php.ini
et il trouve/etc/php/7.0/apache2/php.ini
le bon endroit du bon fichier de configuration php.ini de ma machine qu'il n'a pas été trouvé parphp --ini
ouphp -i | grep php.ini
(les deux ont été trouvés/etc/php/7.0/cli/php.ini
)Vous pouvez obtenir une
phpinfo()
utilisation complète en utilisant:Et là-dedans, il y a le
php.ini
fichier utilisé:Sous Windows, utilisez
find
plutôt:la source
Configuration File
ligne de phpinfo () montre le dernier endroit où php a recherché un fichier ini. Cela peut être l'endroit où il a trouvé un tel fichier ou la dernière option qui se trouve être% SYSTEMROOT% sur Windows.php -i | find "Configuration file"
devrait fonctionner sous Windows. Certainement pas aussi puissant que grep, maisfind
fera une recherche de chaîne de base pour vous. Bien sûr, si php -i transfère sa sortie vers stderr, vous êtes probablement SOL.find
est sensible à la casse par défaut, il doit donc être parfait (php -i | find "Configuration File"
) ou rendu insensible à la casse (php -i | find /i "Configuration file"
- notez l'/i
indicateur).php --ini
comme alternative; disponible depuis PHP 5.2.3 :)Vous pouvez utiliser get_cfg_var ('cfg_file_path') pour cela:
Contrairement à phpinfo (), il dira s'il n'a pas du tout trouvé / utilisé un php.ini.Et vous pouvez simplement définir l'emplacement du php.ini . Vous utilisez la version en ligne de commande, donc en utilisant le
-c
paramètre, vous pouvez spécifier l'emplacement, par exemplela source
Exécutez
php --ini
dans votre terminal, vous obtiendrez tous les détails sur les fichiers iniPour en savoir plus, utilisez la commande d'aide
php --help
Il affichera toutes les options possibles.la source
Parfois, les choses ne sont pas toujours ce qu'elles semblent quand il s'agit de configurer des fichiers en général. Ici, j'applique mes méthodes habituelles pour explorer les fichiers ouverts par un processus.
J'utilise un programme en ligne de commande très puissant et utile appelé strace pour me montrer ce qui se passe vraiment derrière mon dos!
Strace extrait les appels du noyau (système) que votre programme effectue et sauvegarde la sortie dans le fichier spécifié par -o
Il est facile d'utiliser grep pour rechercher des occurrences de php.ini dans ce journal. Il est assez évident de regarder la réponse typique suivante pour voir ce qui se passe.
la source
php -i
m'a donné des résultats incorrects, mais celui-ci est parfaitement bien. Je vous remercie!Si vous voulez que tous les fichiers de configuration soient chargés, ceci vous indiquera:
Certains systèmes chargent des éléments à partir de plusieurs fichiers ini. Sur mon système Ubuntu, cela ressemble à ceci:
la source
Sur OSX Mavericks, exécutez:
Revenu:
Dans le
/etc/
répertoire se trouvait:(ainsi que
php-fpm.conf.default
)J'ai pu copier
php.ini.default
àphp.ini
, ajouterdate.timezone = "US/Central"
au sommet ( à droite ci - dessous[php]
), et le problème est résolu.(Au moins, le message d'erreur a disparu.)
la source
Si vous devez le transmettre à une autre application, vous pouvez faire quelque chose comme:
renvoie uniquement le chemin.
php -c $(php --ini | grep Loaded | cut -d" " -f12)
passera dans le fichier de configuration (utile pourfpm
)la source
D'après ce que je me souviens quand je l' habitude d'utiliser EasyPHP, le fichier php.ini est soit dans
C:\Windows\
ouC:\Windows\System32
la source
Faire
Cela générera tous les fichiers nommés
php.ini
.Découvrez lequel vous utilisez, généralement
apache2/php.ini
la source
Dans votre fichier php.ini, définissez votre répertoire d'extension, par exemple:
Vous verrez dans votre dossier PHP qu'il y a un dossier ext avec toutes les DLL et extensions.
la source
Enregistrez la sortie phpinfo CLI dans un fichier local:
la source
Dans le conteneur Docker phpmyadmin / phpmyadmin aucun fichier php.ini. Mais il y a deux fichiers: php.ini-debug et php.ini-production
Pour résoudre le problème, renommez simplement l'un des fichiers en php.ini et redémarrez le conteneur Docker.
la source
Il n'y a pas de php.ini utilisé par la ligne de commande. Vous devez copier le fichier de
...EasyPHP-<<version>>\apache\php.ini
à...EasyPHP-<<version>>\php\php.ini
éditer celui du répertoire phpRéférence:
la source