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

 
  • Leonardo, adiciona no seu tutorial que se não colocar esse código abaixo dentro do .htaccess não vai surtir o efeito do novo php.ini criado:

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

    Abraço

  • Atualizado Vinícius!

  • Aos que ainda não ingressaram no melhor host da atualidade, vale a pena!

    Caso queiram muiiiito desconto na hora de assinar qualquer plano da DreamHost utilizem um dos seguintes códigos: BRASILEIRO ou BRASILEIRA. Confiram, vale a pena mesmo!

    OU então [email protected]

    http://www.dreamhost.com/r.cgi?149788

  • Marcelo Araujo

    oi Leonardo. e como eu faço essa conexão SSH e executo o shell script? eu estou precisando fazer isso (na DH mesmo, com php5). mas estiou em dúvida de como iniciar o processo. se puder ajudar eu agradeço desde já.
    obrigado!

  • Marcelo

    no windows você pode usar o putty e no linux ou mac basta usar via terminal mesmo.

    no próprio wiki da Dreamhost fala como fazer isso. confere lá :)

  • Marcelo Araujo

    ok, mas pra deixar mais claro seria interessante fazer assim. sugestão:
    1) via SSH, execute tal comando para habilitar o fopen
    2) via tal, crie o arquivo .htaccess.
    3) pra editar o arquivo .htaccess faça assim…
    pois pra quem é lieog no assunto fica meio obscuro a forma correta de se fazer.
    se tiver um passo a passo fica mais claro.
    abraço!

  • fernando

    fala irmão blz? por acaso vc tem algum tutorial de como habilitar a função mail na hospedagem da DH!? po não consigo achar nada detalhadu.. pra eu seguir um passo a passo… meu negociu eh mais coisa grafica, mas tenhu um formulario em php que na DH não funciona, jstamente pq a DH vem cm a função mail desabilitada…

    vlw! obrigado antes d mais nada!