Cu câțiva ani în urmă am instalat Apache 2.2 x și PHP 5.3.1 pe un server Linux l-am intretinut. L-am folosit .tar.gz's și le-a construit, conform instrucțiunilor (în loc de rpm și ce-o fi). Și totul a fost bine.
Azi am nevoie pentru a instala acest, care se pare ca o bibliotecă PHP. Am trecut prin toate etapele pentru a face instalați, și am găsi ibm_db2.deci în $PHP_HOME/lib/extensii/somecomplicatedname/ibm_db2.deci,
Marea captura este ultimul pas este de a configura php.ini dar NU există nici php.ini pe sistemul meu. Groază de orori. PHP funcționează bine, cu excepția, desigur, pentru acest nou-ultramoderne ibm_db2 thingamagic care doresc să folosească, astfel încât cineva poate folosi un GUI să se joace cu DB2`. (Am încercat un mic script php care eșuează și indică faptul că ibm_db2 funcții nu sunt disponibile).
Am avea de-a face cu PHP o dată la câțiva ani, deci te rog sa ma lamuresti la un nivel foarte de bază despre ceea ce am putea face pentru a permite web-based GUI acces la DB2`.
În linia de comandă executa:
php --ini
Veți obține ceva de genul:
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini
Ca's din local dev-mașină. Cu toate acestea, a doua linie este unul interesant. Dacă nu este nimic mentionat, au o privire la prima. Care este calea, în cazul în care PHP pare pentru php.ini`.
Puteți grep aceleași informații folosind phpinfo ()
, într-un scenariu și de apel-l cu un browser. Sa menționat în primul bloc de ieșire. `php -am face același lucru pentru linia de comandă, dar destul de incomod.
Cel mai bun mod de a afla acest lucru este: creați un fișier php și adăugați următorul cod:
<?php phpinfo(); ?>
și deschideți-l în browser-ul, se va afișa fișierul care este, de fapt, a fost citit!
Actualizări de OP:
<?php echo php_ini_loaded_file(); ?>
menționat în acest răspuns.Aceasta funcționează și pentru mine:
php -i | grep 'php.ini'
Ar trebui să vedeți ceva de genul:
Loaded Configuration File => /usr/local/lib/php.ini
p.s. Pentru a obține doar php.în calea
php -i | grep /.+/php.ini -oE
In fereastra de comanda tip
php --ini
Acesta vă va arăta calea ceva de genul
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini
Daca comanda de mai sus nu funcționează, atunci utilizați acest
echo phpinfo();
Această comandă ar trebui să vă ajute să-l găsească
php -r "phpinfo();" | grep php.ini
Utilizați următoarele comenzi pentru a găsi php.ini
calea de fișier în linux.
[root@AnyDirectory ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production
sau încercați un alt drum
[root@AnyDirectory ~]# php --ini
sale arată calea rezultat
PHP vine cu două funcții native pentru a arăta care config fișier este încărcat :
În funcție de configurare, Apache și CLI s-ar putea folosi diferite fișiere ini. Aici sunt două soluții :
Trebuie doar să adăugați următorul text într-un fișier php și deschideți-l în browser-ul dvs.
print php_ini_loaded_file();
print_r(php_ini_scanned_files());
Copy-paste în terminal :
php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
Pentru SAPI: php-fpm
Nu este nevoie pentru a crea un php.info fișier (nu este o politică bună de a părăsi pentru nimic în lume să citească, oricum). În linia de comandă:
php-fpm -i | more
Undeva în producția sa, va arăta această linie:
Configuration File (php.ini) Path => /etc
Aici este o explicație mai completă: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/
Puteți obține mai multe informații despre fișierele de configurare folosind ceva de genul:
$ -> php -i | ack config # Use fgrep -i if you don't have ack
Configure Command => './configure' ...
Loaded Configuration File => /path/to/php.ini
Încercați una dintre această soluție
În terminalul de tip find / -name "php.ini"
În terminalul de tip php -i | grep php.ini
. Acesta ar trebui să arate
calea de fișier ca Fișier de Configurare (php.ini) Cale => /etc.
Dacă puteți accesa una php fișiere , deschideți-l într-un editor (notepad)
și introduceți codul de mai jos după <?php
într-o nouă linie `phpinfo (); Asta
va spun php.ini locație
Puteți vorbi, de asemenea, să php în modul interactiv. Doar de tip `php -o în terminal și tastați phpinfo(); după php inițiat.
Există mai multe moduri corecte menționat deja pentru localizarea php.ini, dar dacă ai ajuns pe aceasta pagina pentru ca vrei sa faci ceva cu ea într-un script bash:
path_php_ini="$(php -i | grep 'Fișier de Configurare (php.ini) Calea' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}