Obecnie próbuję zlokalizować poprawny plik php.ini, aby go edytować i ponownie uruchomić apache, aby zmiany zostały wprowadzone, a ja jestem zakłopotany.
Znalazłem trzy różne pliki php.ini (nie mam pojęcia, dlaczego są trzy) w ten sposób znalazłem pliki
$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
Ja też ...
$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
Zmieniłem wszystkie (tylko dla pewności) na ustawienia, które chciałem.
Zrestartowałem apache używając
sudo service apache2 restart
Wyniki...
* Restarting web server apache2
Ponownie załadowałem stronę i pokazało, że plik php.ini nie został zaktualizowany.
Wiem to, ponieważ użyłem
echo ini_get('post_max_size');
Który miał zostać zmieniony na 20 milionów, ale wciąż był tylko 2 milionami
Próbowałem ponownie uruchomić komputer, myśląc, że może to zatrzyma serwer apache i przeładuje plik php.ini z prawidłowym ustawieniem, ale niestety próba ta również się nie powiodła.
Czy jest jakaś szansa, że inny plik php.ini mógłby przeszkadzać?
apache2
podkataloguupdatedb; locate php.ini
zamiastfind
./etc/php/5.6/apache2/php.ini
w Ubuntu 16.04 LTS Xenial Xerus, gdzie5.6/
jest zainstalowana wersja php. Najpierw skopiuj plik,php.original.ini
a następnie otwórz go do edycji za pomocąsudo gedit /etc/php/5.6/apache2/php.ini
Odpowiedzi:
Każdy z tych trzech plików przeznaczony jest do różnych zastosowań.
/etc/php/5.6/cli/php.ini
dotyczy programu CLI PHP, który został znaleziony przez uruchomieniephp
na terminalu./etc/php/5.6/cgi/php.ini
jest przeznaczony dla systemu php-cgi, który nie jest specjalnie używany w tej konfiguracji./etc/php/5.6/apache2/php.ini
dotyczy wtyczki PHP używanej przez Apache. To jest ten, który musisz edytować, aby zastosować zmiany w konfiguracji Apache./etc/php/5.6/fpm/php.ini
jest przeznaczony dlaphp5-fpm
procesora, który jest kompatybilnym z fastcgi „opakowaniem” do przetwarzania PHP (np. do przekazywania z NGINX dophp5-fpm
) i działa jako samodzielny proces w systemie (w przeciwieństwie do wtyczki Apache PHP)źródło
Spróbuj uruchomić skrypt zawierający ten fragment
<?php phpinfo(); ?>
kodu w przeglądarce, a następnie spróbuj wyszukać coś takiego jak Załadowany plik konfiguracyjny . Ten wpis określa php.ini, którego PHP używa na serwerze Apache.źródło
Aby dowiedzieć się, którego
php.ini
używa CLI, możesz uruchomić:Przykładowe dane wyjściowe:
źródło
dla php7 ubuntu 16.4
źródło
Można znaleźć używany plik, uruchamiając go na terminalu:
źródło