Я изо всех сил, чтобы переопределить конфигурацию PHP CLI, с моей пользовательской php.iniКак переопределить конфигурацию PHP CLI, с пользовательскими php.ini
Мой заказ php.ini
max_execution_time = 90
memory_limit = 256M
safe_mode = Off
Запуск PHP CLI
php -c /home/env/php.ini -r 'phpinfo();' | grep 'memory_limit'
выходы
memory_limit => 256M => 256M
Однако пользовательский php.ini, похоже, не переопределяет max_execution_time или safe_mode, поскольку он выводит 0 и On, а не 90 и Off.
Запуск этой простой скрипт
#!/usr/bin/php -c /home/env/php.ini
<?php echo 'memory_limit: ' . ini_get('memory_limit');
выводит конфигурацию консоли по умолчанию (128M), а не 256M, как ожидалось.
Запуск Этот простой скрипт
#!/usr/bin/php -d max_execution_time=90
<?php echo 'max_execution_time: ' . ini_get('max_execution_time');
выходы 90, как и ожидалось.
До сих пор мне удалось переопределить только одну конфигурационную директиву во время выполнения, поэтому любая помощь очень ценила, как переопределить несколько конфигурационных директив.
Edit:
php -a
php > parse_ini_file('/home/env/php.ini');
выходы без ошибок, поэтому я предполагаю, что мой заказ php.ini нормально. Я бы только что обнаружил, что выполнение
#!/usr/bin/php -c /home/env/php.ini
<?php echo 'memory_limit: ' . ini_get('memory_limit'); phpinfo();
говорит, что загруженный файл конфигурации => (none). Кажется, это проблема. PHP CLI, похоже, не загружает мой файл php.ini, даже если путь верен, и синтаксис тоже кажется слишком хорошим.
Решение:
Это не представляется возможным переопределить несколько директивы конфигурации во время выполнения с притон, по крайней мере, для меня. Но удаление shebang и выполнение следующей команды решили проблему для меня.
php -d max_execution_time=90 -d memory_limit=256M -d safe_mode=Off -f test.php
'#!/Usr/bin/php -c/home/env/php.ini' ' Php echo 'memory_limit:'. ini_get ('memory_limit'); ' это работает для меня! можете ли вы дважды проверить свой php.ini (и путь) –
Как выполнить тестовый файл? Например, в нижней части вашего вопроса? – hek2mgl
@ hek2mgl Мой тестовый файл выполняется с консоли: $ ./cli.php – longtimejones