Alterando o PHP.ini da Dreamhost

Algumas configurações do PHP da Dreamhost, como o uso do fopen(), são desabilitadas por questões de segurança. Isso pode atrapalhar o funcionamento de suas aplicações. Entretanto, é possível habilitar essa e outras funções via shell.

O wiki da Dreamhost traz muitas dicas sobre a configuração do PHP.ini. Uma que eu reproduzo abaixo é a habilitação do fopen().

Após fazer uma conexão ssh com o servidor, crie o seguinte shellscript:

PHP 4

#!/bin/sh
CGIFILE="$HOME/[your website directory]/cgi-bin/php.cgi"
INIFILE="$HOME/[your website directory]/cgi-bin/php.ini"
cp /dh/cgi-system/php.cgi "$CGIFILE"
cp /etc/php/cgi/php.ini "$INIFILE"

perl -p -i -e '
s/.*allow_url_fopen.*/allow_url_fopen = On/;
' "$INIFILE"

PHP 5

#!/bin/sh
CGIFILE="$HOME/[your website directory]/cgi-bin/php.cgi"
INIFILE="$HOME/[your website directory]/cgi-bin/php.ini"
cp /dh/cgi-system/php5.cgi "$CGIFILE"
cp /etc/php5/cgi/php.ini "$INIFILE"

perl -p -i -e '
s/.*allow_url_fopen.*/allow_url_fopen = On/;
' "$INIFILE"

Defina qual o domínio a ser alterado (linha 2 do script), salve esse script, dê permissão de execução (chmod +x php-update.sh) e o execute (./php-update.sh).

Você também pode colocá-lo em execução semanalmente, para evitar erros futuros. Para isso, abra o crontab (crontab -e) e agende: @weekly /home/myusername/php-update.sh

[update]: via comentário do Vinícius, vale lembrar que deve-se criar um arquivo .htaccess, para mudar o modo de como o PHP é executado por padrão:

Options +ExecCGI
Action php-cgi /cgi-bin/php.cgi
AddHandler php-cgi .php
 

Leonardo

Registros de Leonardo Faria sobre desenvolvimento web