Existem dois tipos diferentes de se executar scripts PHP na IndicaHost:
A diferença entre o PHP como modo CGI ou como módulo do Apache é que no módulo Apache algumas funções são desabilitadas por questões de segurança na IndicaHost, porém, as mesmas podem ser utilizadas caso o script esteja sendo executado em modo CGI, desde que não dependam diretamente de uma diretiva. Este é o caso da função dl(), que depende da diretiva enable_dl com o valor ON (o padrão da IndicaHost é OFF para módulo do Apache e modo CGI ), fazendo com que as funções apenas tenham efeito em tempo de execução.
Os planos de hospedagem compartilhados (Expressa, Profissional I, Profissional II, Profissional III e Profissional Premium) possuem instalados o PHP em modo CGI apenas.
Quando um arquivo PHP é executado em modo CGI, o owner em tempo de execução é o seu login, logo, caso o script crie um arquivo, ele possuirá o ID do seu site. Considere resultado um arquivo enviado por upload ou criado com fopen(), por exemplo. Caso o script rode como módulo do Apache e crie um arquivo, este terá o ID ’webserver’ que é o usuário com que o servidor Apache está rodando. Verifique se as permissões do diretório onde este arquivo é criado estão corretas (devem ser 777).
Não indicamos a execução específica de nenhuma modalidade: tudo dependerá de sua estrutura e de seus aplicativos, porém, como já mencionado, ambas são suportadas nos servidores da IndicaHost.
Em modo CGI, a alteração de diretivas é possível via função ini_set(), porém as alterações que forem realizadas apenas terão efeito durante o tempo de execução do arquivo PHP, sem modificação no padrão do servidor.
Obs: A alteração das diretivas do PHP em servidores compartilhados é feita seguindo os passos contidos em Como alterar as diretivas do PHP.
O PHP em modo Apache, que pode ser disponibilizado somente em planos Cloud Server, VPS e Servidores Dedicados, também aceitam a execução de scripts PHP em modo CGI, e somente nestes planos o PHP pode ser instalado no contexto global tanto como um módulo do Apache como em modo CGI, dependendo de sua necessidade.
Caso precise alterar algo em suas diretivas em modo Apache utilize está pagina de ajuda: PHP - Diretivas, como alterar ou entre em contato com o nosso Atendimento informando a diretiva e o valor que deve ser alterado para que seja feita uma avaliação.
Caso esteja usando o PHP como módulo do Apache e necessite executar seus scripts em modo CGI, basta seguir os passos abaixo:
Obs: Lembrando que o procedimento a seguir não é necessário ser efetuado nas hospedagens compartilhadas da IndicaHost.
Para um melhor controle, o arquivo pode possuir a extensão ’.cgi’.
A primeira linha do script (antes de <?php) deve ser o caminho do executável PHP: #!/usr/local/bin/php
Envie o arquivo ao diretório ~/public_html/cgi-local
Configure permissão 755 via SSH no diretório e no arquivo
chmod 755 ~/public_html/cgi-local chmod 755 ~/public_html/cgi-local/ARQUIVO.cgi
O arquivo ARQUIVO.cgi não pode possuir formato DOS (tipo de formato quando se editam arquivos no Windows). Para alterá-la, você deve abrir o arquivo com o editor "vi" de seu SSH usando os comandos abaixo:
vim ARQUIVO.php
:set fileformat=unix :wq! |
Observação: Todos os comandos devem ser digitados em minúsculo (se o nome do arquivo possui caracteres em maiúsculo, a sua digitação deve ser igual ao nome do arquivo levando em consideração letras maiúsculas e minúsculas), caso contrário, o comando não será executado com êxito.