Kilka lat temu zainstalowałem Apache 2.2x i PHP 5.3.1 na serwerze Linux, który utrzymuję. Użyłem .tar.gz i zbudowałem je zgodnie z instrukcją (zamiast rpms i what-have-you). I wszystko było w porządku.
Dzisiaj muszę zainstalować to, co wygląda jak biblioteka PHP. Przeszedłem wszystkie kroki, aby zainstalować, i znajduję ibm_db2.so w$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so
Świetnym chwytem jest ostatni krok to konfiguracja php.ini, ale w moim systemie NIE ma php.ini. Horror okropności. PHP działa dobrze, z wyjątkiem oczywiście tego nowomodnego ibm_db2, którego chcę użyć, aby ktoś mógł użyć GUI do majsterkowania DB2
. (Próbowałem małego skryptu php, który zawodzi i wskazuje, że funkcje ibm_db2 nie są dostępne).
Mam do czynienia z PHP raz na kilka lat, więc proszę wyjaśnij mi na bardzo podstawowym poziomie, co mogę zrobić, aby umożliwić dostęp do GUI przez Internet DB2
.
locate php.ini
dowiesz się w kilku chwilach, gdzie plik znajduje się w twoim systemie.Odpowiedzi:
Najlepszym sposobem na znalezienie tego jest: utwórz plik php i dodaj następujący kod:
i otwórz go w przeglądarce, pokaże plik, który jest aktualnie czytany!
Aktualizacje OP:
<?php echo php_ini_loaded_file(); ?>
wymienioną w tej odpowiedzi .źródło
<?php phpinfo(); ?>
php -r \@phpinfo\(\)\;
pracuje dla mnie,php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1
aby pobrać określone informacje<?php echo php_ini_loaded_file(); ?>
W wierszu polecenia wykonaj:
Otrzymasz coś takiego:
To z mojej lokalnej maszyny deweloperskiej. Jednak druga linia jest interesująca. Jeśli nic nie wspomniano, spójrz na pierwszy. To jest ścieżka, na której PHP szuka
php.ini
.Możesz grepować te same informacje za
phpinfo()
pomocą skryptu i wywoływać je za pomocą przeglądarki. Jest wspomniany w pierwszym bloku wyniku.php -i
robi to samo z wierszem poleceń, ale jest dość niewygodne.źródło
.php
pliku. Nawiasem mówiąc, jeśli skomentujesz pytanie, otrzymam powiadomienie i będę mógł rozwiązać problem wcześniej.phpinfo.php
pliku podobnego do. Z FPM możesz przynajmniej użyćphp5-fpm -i | grep '\.ini'
. Zwykle używasz tego dwa lub trzy razy, a na koniec wiesz, gdzie są pliki;)To działa dla mnie:
Powinieneś zobaczyć coś takiego:
ps Aby pobrać tylko ścieżkę php.inin
źródło
php.ini
, który jest dokładnie problem: Jeśli nie ma, nadal nie wiem gdzie patrzeć, czy gdzie umieścić nowy.Configuration File (php.ini) Path => /usr/lib
, ale uruchomienie<?php phpinfo(); ?>
daje miLoaded Configuration File: /etc/php.ini
. Więcphpinfo()
w moim przypadku był bardziej niezawodny.W oknie poleceń wpisz
To pokaże ci ścieżkę
Jeśli powyższe polecenie nie działa, użyj tego
źródło
To polecenie powinno ci pomóc je znaleźć
źródło
Użyj następujących poleceń, aby znaleźć
php.ini
ścieżkę do pliku w systemie Linux.lub spróbuj w inny sposób
[root@AnyDirectory ~]# php --ini
pokazuje wynik ścieżki
źródło
php -i | grep 'php.ini'
, ponieważ znajduje dowolny plik php.ini i nie mówi ci, którego używa Twoja instalacja PHP. Może również dawać błędne wyniki, gdylocate
DB jest nieaktualny.poinformuje Cię o jego lokalizacji lub z wiersza poleceń
źródło
PHP zawiera dwie funkcje rodzime, które pokazują, który plik konfiguracyjny jest ładowany:
W zależności od konfiguracji Apache i CLI mogą używać różnych plików ini. Oto dwa rozwiązania:
Apache:
Po prostu dodaj poniższe w pliku php i otwórz go w przeglądarce
CLI:
Skopiuj i wklej w swoim terminalu:
źródło
php_ini_loaded_file
nie zawsze będzie dostępna.php_ini_loaded_file
powiedzmy wersji php> = 5.2.4Hej ... to zadziałało dla mnie!
źródło
php --ini
działa, ale to tylko kolejna opcja :) Zwykle jest taka/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
i zwykle ta, którą chcesz, jest dość oczywista. (cli, apache, cgi)Możesz uzyskać więcej informacji o swoich plikach konfiguracyjnych, używając czegoś takiego:
źródło
W przypadku SAPI: php-fpm
Nie ma potrzeby tworzenia pliku php.info (pozostawienie go światu do przeczytania nie jest dobrą polityką). W wierszu poleceń:
Gdzieś na wyjściu wyświetli następujący wiersz:
Oto bardziej kompletne wyjaśnienie: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-with-info-php/
źródło
Wypróbuj jedno z tych rozwiązań
W swoim typie terminala
find / -name "php.ini"
W swoim typie terminala
php -i | grep php.ini
. Powinien pokazywać ścieżkę do pliku jakoConfiguration File (php.ini) Path => /etc
<?php
w nowym wierszuphpinfo();
To powie ci lokalizację php.iniphp -a
terminal i wpisz phpinfo (); po zainicjowaniu php.źródło
Istnieje już kilka ważnych sposobów na zlokalizowanie pliku php.ini, ale jeśli natknąłeś się na tę stronę, ponieważ chcesz coś z tym zrobić w skrypcie bash:
path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}
źródło