Php.ini específico do usuário Quando o php é executado como um módulo?

Php.ini específico do usuário Quando o php é executado como um módulo?

Eu tenho uma configuração de php que só pode ser alterada no arquivo ini. Não consigo alterar essa configuração no php.ini global devido a conflitos, então precisarei ter esse usuário específico. Isso pode ser feito se o php for executado como um módulo? Ou devo mudar o php executado como cgi?

Parece que a melhor resposta é "na verdade não", mas você pode alterar alguns parâmetros usando os truques abaixo.

Responder1

Não conheço nenhuma maneira de especificar um php.ini separado ao usar o PHP como um módulo Apache, apenas ao usar o PHP como CGI. Dito isto, qualquer uma das opções de configuração no php.ini pode ser alterada no .htaccessarquivo conforme mostrado emhttp://php.net/configuration.changescontanto que você tenha AllowOverride definido na configuração do Apache como Optionsou All.

Fiz isso em muitos dos meus sites para alterar configurações comuns do PHP. Eu diria que você não precisa alterar todas as configurações, portanto o número deve ser facilmente gerenciado adicionando as opções ao seu .htaccessarquivo no diretório em que você precisa das alterações.

O seguinte é um que eu uso em alguns sites para alterar include_pathe definir as configurações auto_prepend_filee auto_append_file. Para itens de sinalização booleana, basta usar php_flagem vez de php_value.

<IfModule mod_php5.c>
    php_value auto_prepend_file 'header.inc.php'
    php_value auto_append_file 'footer.inc.php'
    php_value include_path '/path/to/private/includes:/usr/share/pear'
</IfModule>

Responder2

Eu substituí o manipulador de php por um wrapper php cgi e consegui especificar um arquivo php.ini

Para fazer isso: crie um arquivo htaccess na pasta que deseja modificar com algo assim:

Action php5-cgi /cgi-bin/php5-cgi.cgi
AddHandler php5-cgi .php

Em seguida, crie um arquivo 'php5-cgi.cgi' com algo assim:

#!/bin/sh
exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"

Defina permissões neste arquivo para executar como "usuário". Em seguida, execute um arquivo de teste com phpinfo(1); para ver se você tem seu arquivo ini carregado.

Obrigado pela ajuda de todos!!

Responder3

Todos os detalhes estão aqui:http://php.net/configuration.changes

Responder4

Você pode usar o Apache "php_admin_value" por vhost/usuário.

IIRC, você pode redefinir cada valor do php.ini usando este comando

informação relacionada