За последние 24 часа нас посетили 20963 программиста и 1016 роботов. Сейчас ищут 509 программистов ...

php.ini для отдельного vhost

Тема в разделе "Установка PHP", создана пользователем demorian, 14 дек 2016.

Метки:
  1. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Подскажите, возможно ли для отдельного <virtualhost> использовать отдельный php.ini?
    Точнее даже не так, был у меня один хостинг, в корне фтп кроме всего прочего лежал и php.ini, только для моего <vhost>. Собственно, вопрос по сабжу, как правильно использовать?
    Хостится всё на debian jessie.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Можно задать директорию
    Код (Text):
    1. PHPINIDir /path/to/new/ini
    но имя файла в ней должно быть php.ini
     
  3. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    А не будет конфликтa c apache.conf?
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    @demorian нет, кроме того эту директиву можно использовать даже в htaccess
     
  5. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Я правильно понимаю, что мне нужно php использовать как CGI? mod_php не будет работать?
    Код (Text):
    1. Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored
    При указании 2 php.ini на разных <virtualhost>
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    @demorian мне кажется что configuration tree подразумевает иерархию, например если PHPINIDir указан для хоста, то указывать для директории бесполезно. Два разных хоста - это два разных дерева.
     
  7. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Решил по другому проблему, но всплыла другая.
    указываю
    Код (Text):
    1. <virtualhost>
    2. <directory /hostname/www/>
    3. <IfModule mod_php5.c>
    4. Include /var/www/php_test.ini
    5. </IfModule>
    6. </directory>
    содержимое php_test.ini
    Код (Text):
    1. php_admin_value disable_functions "eval,gzinflate,base64_decode,str_rot13,mail,fsockopen,pfsockopen,stream_socket_client,exec,system,passthru,stream_socket_client, etc...,"
    Правила подхватываются, видно изменения в phpinfo(); в столбце "local value", но игнорируются.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Мистика какая-то
     
  9. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    код страницы
    Код (Text):
    1.     <?php
    2. define('EOL', "<br>");
    3. @settype($string, string);
    4. @settype($buffer, string);
    5. $string="Hello";
    6. $buffer.="<b>Оригинальная строка:</b>";
    7. $buffer.=$string.EOL;
    8. $buffer.="<b>strrot_13:</b>";
    9. $buffer.=$wtf=@str_rot13($string).EOL;
    10. $buffer.="<b>Декодированная строка:</b>";
    11. $buffer.= @str_rot13($wtf).EOL;
    12. $buffer.="<b>Base64:</b>";
    13. $buffer.=$wtf=@base64_encode($string).EOL;
    14. $buffer.="<b>Декодированная строка:</b>";
    15. $buffer.=@base64_decode($wtf).EOL;
    16. $buffer.="<b>Сжатая строка:</b>";
    17. $buffer.=$wtf= @gzdeflate($string).EOL;
    18. $buffer.="<b>Распакованная строка:</b>";
    19. $buffer.=@gzinflate($wtf).EOL;
    20. $buffer.="<b>Отключенные функции:</b>";
    21. $buffer.=@ini_get('disable_functions').EOL;
    22. echo $buffer;
    23. echo @phpinfo();
    24. ?>
    выдача
    Код (Text):
    1. Оригинальная строка:Hello
    2. strrot_13:Uryyb
    3. Декодированная строка:Hello
    4. Base64:SGVsbG8=
    5. Декодированная строка:Hello
    6. Сжатая строка:�H���
    7. Распакованная строка:Hello
    8. Отключенные функции:eval,gzinflate,base64_decode,str_rot13,mail,fsockopen,pfsockopen,stream_socket_client,exec,system,passthru,stream_socket_client,