PHP

De Wiki Hostnet
Ir para: navegação, pesquisa
Php simbolo.png


O PHP (Hypertext Preprocessor) é uma linguagem interpretada de programação de computadores, livre e muito utilizada para sistemas que geram conteúdo dinâmico para a Web.


Tabela de conteúdo

Disponível em quais planos?


Qual a versão do PHP na Hostnet?

  • Planos Start - 5.6 ou 7.0
  • Planos Private - 5.6 ou 7.0


Você pode verificar a versão do PHP que o seu site usa atualmente de forma bem simples, basta colocar um arquivo dentro do seu FTP com o código abaixo:

<?php phpinfo(); ?> 

Crie dentro da pasta WWW um arquivo chamado info.php contendo o código acima, depois basta acessar seu site: www.meu_site.com/info.php

Ficará assim: http://www.higor.x-br.com/info.php

Dessa forma poderá verificar a versão do PHP e outras informações como: sistema operacional, versão do apache, memória php, etc...


Como fazer redirecionamento de URL via PHP?

Crie um arquivo com o nome index.php com o código abaixo:

<?php
header('Location: http://www.endereço_para_onde_ira_redirecionar.com');
?>

Dessa forma, quem acessar o seu domínio será redirecionado para o novo endereço, no caso http://www.endereço_para_onde_ira_redirecionar.com.


Posso alterar o php.ini?

O php.ini é o arquivo de configuração do PHP. Lá estão definidas características sobre a forma de funcionamento do PHP, como por exemplo a quantidade de memória a ser usada pelo PHP, ou se funções como register_globals estão ativas ou não.

No plano Private é possível editar o php.ini via Painel de controle.

Nos demais planos algumas diretrizes podem ser alteradas via .htaccess, mas não é possível utilizar um php.ini caso seja necessário.

Qual a versão do apache na Hostnet?

  • Private: Apache/2.4.7
  • Start: Apache / 2.2.22


Como faço para ver as configurações do meu servidor?

Suponhamos que o seu domínio seja https://www.comocriarmeusite.com. Siga os passos abaixo:

  • Crie um arquivo com nome info.php e insira o seguinte código:
<?php  
phpinfo(); 
?> 
  • Envie por FTP este arquivo para a pasta www do dominio.
  • Acesse o seu domínio, em http://www.comocriarmeusite.com/info.php. O PHP irá apresentar uma página Web com toda a configuração do servidor PHP usado na Hostnet.


Posso usar a função Keep Alive na Hostnet?

A função Keep Alive está desativado por padrão e infelizmente não é possível sua ativação. Ela faz com que a conexão ao site fique aberta após o pedido de acesso do cliente ser atendido. Ou seja, a solicitação fica pendente. O manual do servidor Web Apache informa que é recomendado manter a função Keep Alive ativa, para domínios com muitas imagens. Mas, no nosso caso, os testes que realizamos com esta função mostraram que obtemos menor performance no servidor (e por consequência, nas páginas hospedadas). Logo, mantemos o Keep Alive desligado por questões de performance.

Posso usar a função fsockopen na Hostnet?

Sim.


É possível usar comandos do sistema no PHP? Por exemplo, a função system()?

Nossos servidores são compartilhados. Logo, por questões de segurança, todas as funções que executam comandos do sistema operacional estão desativados.


É possível utilizar uma função que gere arquivos PDF em PHP?

Atualmente não possuimos uma biblioteca instalada nos nossos servidores que permitam gerar arquivos em PDF, mas você poderá utilizar normalmente as classes FPDF ou EZPDF. O download da classe FPDF pode ser feito no endereço http://fpdf.org. Já a classe EZPDF pode ser baixada em http://www.ros.co.nz/pdf/.

Se você precisa de uma função para ler arquivos PDF, recomendamos que você leia o conteúdo das duas URLs abaixo:


É possível utilizar a biblioteca Smarty na Hostnet?

A biblioteca Smarty é usada para a administração de templates para PHP. Logo, não é necessário que esta biblioteca esteja instalada nos servidores da Hostnet. O próprio usuário pode fazer a instalação da Smarty, na sua própria conta.


É possível utilizar a biblioteca BcMath na Hostnet?

Sim.


Existe alguma biblioteca do PHP para efetuar zip de arquivos?

As bibliotecas Zlib e ZZIPlib estão instaladas nos servidores da Hostnet, podendo ser usadas por nossos clientes.


Como acessar um arquivo RSS (feed) utilizando PHP?

O que é RSS?

RSS serve para agregar conteúdo ou “Web syndication”, podendo ser acessados por programas ou sites agregadores. É usado principalmente em sites de notícias e blogs.

A abreviatura do RSS é usada para se referir aos seguintes padrões: Rich Site Summary, RDF Site Summary e Really Simple Syndication.

A tecnologia do RSS permite aos usuários se inscreverem em sites que fornecem “feeds” (fontes) RSS. Estes sites geralmente mudam ou atualizam o seu conteúdo regularmente. Para isso são utilizados Feeds RSS que recebem estas atualizações, desta maneira o usuário pode permanecer informado das atualizações em diversos sites sem precisar visitá-los um a um.

Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros metadados. Esta informação é entregue como um arquivo XML chamado “RSS feed”, “webfeed”, “Atom” ou ainda canal RSS.


Lendo RSS utilizando PHP

Muitas vezes desejamos exibir notícias de outros sites (ou blogs) a patir de um arquivo RSS. Abaixo um exemplo em PHP 5 para exibir o conteúdo de um arquivo RSS.

<div>
<table style="width: 100%" cellspacing="0px">

<?php
ini_set('zend.ze1_compatibility_mode', 0);

## Caminho para o RSS do blog da Hostnet
$StFonteRSS = 'https://www.hostnet.com.br/blog/feed/';

## Converte um arquivo XML em um objeto
$XML = simplexml_load_file( $StFonteRSS );

## Lista o conteúdo do arquivo RSS
foreach ( $XML->channel->item as $item )
{
  print '<tr><td>' .
        date('d/m/Y h:i:s',strtotime(utf8_decode($item->pubDate))) .
        '</td></tr>' . '<tr><td><a class="link" href="' .
        utf8_decode($item->link) . '"target="_blank">' .
        utf8_decode($item->title) . '</a><br /><br /></td></tr>';
}
?>

</table>
</div>


O register_globals está ativo nos servidores da Hostnet?

O parâmetro register_globals está OFF por padrão e não pode ser modificado.


O magic_quotes_gpc está ativo no plano PHP?

O parâmetro magic_quotes está OFF por padrão e não pode ser modificado.


O session.auto_start está habilitado?

O parâmetro session.auto_start está OFF por padrão. Se for da sua vontade, você pode habilitar esse parâmetro através do Painel de Controle, na opção Configurações avançadas.


Posso usar GIT na Hostnet?

No momento não.
O Git é um sistema de controle de versões distribuído. Embora sua função seja a mesma de sistemas mais tradicionais como CVS ou Subversion, ou seja, gerenciar versões, e mais especificamente, gerenciar repositórios de código fonte, ele possui diversos atributos que o fazem ser considerado o sistema mais avançado e flexível para este tipo de tarefa.


O módulo mod_xsendfile está disponível na Hostnet?

No momento não.


A extensão INTL está disponível na Hostnet?

A extensão Intl (Internationalization) é um wrapper da biblioteca ICU.
Ela está disponível na Hostnet.


Posso usar o Zend Guard Loader na Hostnet?

No momento não.
O Zend Guard Loader é o sucessor do Zend Optimizer.
Este recurso possui suporte a licenciamento, criptografia melhorada e outras otimizações importantes, sendo um produto muito mais robusto, permitindo que empresas vendam software desenvolvido em PHP sem temer que o código seja acessado.
O que utilizamos atualmente para otimizar sites em PHP em nosso servidor é o Eaccelerator.
Temos pesquisas internas sobre otimização automática de páginas da web e recursos para um melhor desempenho mas ainda está em fase de estudo.


O suhosin pode ser editado?

O suhosin é um módulo do PHP que auxilia na segurança, evitando que haja violações de segurança por partes de códigos maliciosos.

Nos planos Private o suhosin pode ser editado via .htaccess

php_value max_input_vars valor ( ex: 10000 )


Posso usar a função File_get_contents() na Hostnet?

Sim, esta função está ativada por padrão.


É possível alterar o conjunto de caracteres padrão do script?

Você pode fazer essa alteração através de um arquivo .htaccess. O conjunto de caracteres padrão é o UTF-8. Altere para o conjunto que desejar, por exemplo, ISO-8859-1, adicionando a linha abaixo:

php_value default_charset UTF-8


O session.use_trans_sid está habilitado?

O parâmetro session.use_trans_sid está OFF por padrão. Se for da sua vontade, você pode habilitar esse parâmetro através do Painel de Controle, na opção Configurações avançadas.


Qual a quantidade de memória disponível para o PHP nos servidores da Hostnet?

Veja em Memória PHP.


A extensão SOAP do PHP está disponível na Hostnet?

Sim, está disponível em alguns servidores. Caso você necessite dessa extensão e ela esteja desabilitada em sua conta, abra um chamado no HelpDesk para que possamos verificar a possibilidade de habilitá-lo.


Como saber os pacotes do PEAR que estão instalados?

Para saber quais pacotes do PEAR estão disponíveis, basta acessar sua conta fazendo uso do serviço SSH e digitar o comando pear list. Desta forma, você terá os pacotes disponíveis.


Qual o timeout do servidor?

O timeout do servidor é de 2 minutos (120 segundos). E este tempo pode ser alterado apenas nos planos PRIVATE..


Como fazer uploads de arquivo utilizando PHP?

É possível permitir que o visitante envie arquivos para o servidor através de um formulário utilizando o método POST.

Os arquivos são enviados para a pasta temporária do servidor, ou para o caminho apontado pela variável de ambiente TMPDIR. O campo escondido MAX_FILE_SIZE, deverá conter o tamanho máximo permitido para upload, esta variavel não deve conter um valor superior ao da opção upload_max_filesize da configuração do PHP.

Caso não seja enviado nenhum arquivo o valor da variável que contem os dados do arquivo será "none".

Para enviar vários arquivos de uma única vez utilize o campos input conforme o exemplo abaixo:


Upload-php.png


Depois basta acessar os dados como um array, exemplo:

$arquivos[0];
$arquivos_name[0];
$arquivos_size[0];
$arquivos_type[0];

Para copiar o arquivo da pasta temporária para a pasta desejada, utilize o comando move_uploaded_file(). Veja a documentação deste comando nos links

http://br.php.net/manual/pt_BR/features.file-upload.php e

http://br.php.net/manual/pt_BR/function.move-uploaded-file.php


Veja abaixo um exemplo completo

Arquivo a ser enviado:

Upload-php-2.png

# Nome do arquivo: envia_arq.php
 $uploaddir = '/home/pasta_do_seu_site/www/pasta_onde_deseja_gravar_o_arquivo_enviado/';
print "
";
  if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name']))
  {
    print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:n";
    print_r($_FILES);
  }
  else
  {
    print "Possivel ataque de upload! Aqui esta alguma informação:n";
    print_r($_FILES);
  }
  print "
 ";
 ?>

Existe limite para upload de arquivos via script?

Sim, clique AQUI e veja o limite do seu plano.

Ainda existe o timeout do servidor que é de 120 segundos.


A biblioteca JpGraph está disponível na Hostnet?

Não, a biblioteca JpGraph não está disponível. Aconselhamos que o cliente faça uso de outra biblioteca gráfica, como a GD2, que está disponível.


Posso usar o Subversion na Hostnet?

Subversion ( svn ) é um sistema de controle de versão de projetos. Infelizmente não está disponível em nossos servidores. Por se tratar de servidores compartilhados, não possui os privilégios que o Subversion necessita.


O ImageMagick está instalado na Hostnet?

O ImageMagick está disponível apenas nos planos Private. Para os demais planos, aconselhamos que o uso da biblioteca gráfica GD 2.0, que está habilitada.


É possível desabilitar o open_basedir na minha conta?

Por medidas de segurança não é possível, use caminhos relativos no include, isso deve resolver.


A Hostnet possui suporte a galeria de imagens netPBM?

Não temos disponível o suporte a galeria de imagens netPBM. Aconselhamos que o cliente faça uso da biblioteca gráfica GD2, que está disponível.


O módulo mod_rewrite, para o servidor web Apache, está disponível na Hostnet?

O módulo mod_rewrite está disponível, mas desabilitado por padrão.

  • Em planos Start, você pode habilitar esse módulo através do Painel de Controle, no Menu Configurações dos Sites.
  • Em palnos Private, você precisa abrir um chamado Helpdesk solicitando.


A biblioteca ICONV está disponível na Hostnet?

Sim, a biblioteca ICONV está disponível.


A Hostnet disponibiliza alguma biblioteca para criptografar dados?

Sim, a Hostnet disponibiliza duas bibliotecas para criptografia, a crypt e a mcrypt.


A biblioteca PHP_IMAP encontra-se disponível nos servidores PHP?

Não, mas podemos verificar a possibilidade da instalação. Caso você precise, faça uma solicitação através do HelpDesk.


É possível utilizar a biblioteca GTK+ do PHP na Hostnet?

Não. A biblioteca GTK+ é responsável pela criação da interface de aplicações gráficas e não está disponível nos servidores da Hostnet.


O output_buffering está habilitado nos servidores da Hostnet?

Não, mas podemos verificar a possibilidade da habilitação. Caso você precise, faça uma solicitação através do HelpDesk.



A biblioteca Curl está ativa nos servidores da Hostnet?

Sim, a biblioteca Curl está disponível e pode ser usada em nossos servidores.


O Zend Optimizer está disponível?

Não, no momento o Zend Optimizer não está disponível. OBS: O Zend Optimizer é um aplicativo livre que permite codificar arquivos em PHP para um melhor desempenho. A tecnologia Zend Optimizer foi criada especificamente para ajudar a otimizar o processo para um melhor tráfego nos sites.


Posso usar o Ion Cube na Hostnet?

Não, o Ion Cube não está disponível. OBS: O Ion Cube é uma solução proprietária que requer licença e configurações específicas para uso. Está é uma prática que vai contra os valores e princípios da Hostnet. A Hostnet é uma empresa que usa e incentiva o uso de software livre. O Ion Cube é uma solução de software proprietário, logo contrário à própria filosofia da empresa. Além da questão da licença, tem também a questão técnica: O Ion Cube, entre outras característics, oferece criptografia de código, o que possibilita que clientes e sistemas rodem códigos criptografados no servidor. Isto dificulta o trabalho da Hostnet de monitorar e avaliar o desempenho de sites e scripts no servidor. Em caso de problemas, seria complicado para solucionar o problema e comprometer a segurança de nossos serviços.


O Mimetype está disponível na Hostnet?

Sim, está disponível em alguns servidores. Caso você necessite dessa função e ela esteja desabilitada em sua conta, abra um chamado no HelpDesk para que possamos verificar a possibilidade de habilitá-lo.


O php-ffmpeg está disponível na Hostnet?

Sim, a extensão php-ffmpeg está disponível.


A biblioteca DBX está disponível na Hostnet?

Sim, está disponível em alguns servidores. Caso você necessite dessa biblioteca e ela esteja desabilitada em sua conta, abra um chamado no HelpDesk para que possamos verificar a possibilidade de habilitá-la.


O módulo SSH2 está disponível na Hostnet?

Não, o módulo SSH2 não está disponível.


É possível usar Zend Framework na Hostnet?

Sim, é possível usar o Zend Framework na Hostnet. Por exemplo, o sistema de comércio eletrônico Magento faz uso do Zend Framework. OBS: O Zend Framework é um framework de aplicação web de código aberto, orientado a objetos, implementado em PHP 5 e liberado segundo a licença New BSD. O Zend Framework (ZF) é desenvolvido com o objetivo de simplificar o desenvolvimento web enquanto promove as melhores práticas na comunidade de desenvolvedores PHP.


É possível utilizar o recurso PDO (PHP Data Objects)?

Sim, o recurso PDO está disponível nos servidores da Hostnet. Se você quer saber como utilizar esse recurso, visite a seguinte URL: http://php.net/manual/en/book.pdo.php


Posso usar o PECL?

Não, você não pode usar o PECL. Mas você pode usar o PEAR e alguns de seus pacotes.


Posso usar Cron/Cronjob/Crontab na Hostnet?

Cron é um serviço que faz o papel de um agendador de tarefas, para que certas funções sejam executadas de tempos em tempos, de acordo com o agendamento feito pelo usuário.
Este serviço está disponível apenas nos planos PRIVATE.


Posso usar as funções Fopen e Fwrite?

Sim, você pode usar as funções Fopen e Fwrite.


Posso habilitar a opção allow_url_include ?

Não, a função allow_url_include foi desativada. Ela, quando habilitada, facilita a ocorrência de falhas de segurança, e diversos ataques de execução de código remoto podem ser feitos, comprometendo a estabilidade dos nossos servidores. Devido a esta característica, ela aumenta a vulnerabilidade do código do site do cliente, além de trazer insegurança ao servidor.

A melhor sugestão é que copie o arquivo desejado por FTP para a sua conta e faça o include localmente.


Posso usar o módulo APC na Hostnet?

Não, o módulo APC não pode ser habilitado no servidor. Caso você precise de um módulo para otimizar o desempenho do PHP, temos disponível o eAccelerator. O eAccelerator compila os scripts PHP em memória compartilhada e executa os códigos a partir do conteúdo que está nessa memória à parte. Este conteúdo pode ser executado simultaneamente por vários usuários. Em testes internos, este módulo obteve melhores resultados em comparação com o APC, além de ser compatível com as versões do PHP que usamos.

É possível usar PHP em WML? Ou seja, um WML dinâmico?

Sim, veja o script abaixo:

header("Location: index.php");
exit;
?>

Observação: Para utilizar a função “header”, o seu script NÃO pode ter escrito nenhuma linha HTML (nem mesmo uma linha em branco). Ou seja, no exemplo acima a linha “”;
echo “”;
?>



Welcome to a PHP-enabled site!”;
?> 


Alguns recursos do PHP:

DISPONÍVEL EM TODOS OS PLANOS:

  • php-curl - ON
  • php-mbstring - ON
  • php-gd - ON
  • php-mysql - ON
  • mod_access - ON
  • imagejpeg() - ON

DISPONÍVEL NOS PLANOS PRIVATE Private Cloud :

  • flock() - ON
  • gzcompress()- ON
  • gzuncompress()- ON
  • curl_exec()- ON

NÃO DISPONÍVEIS:

  • Keep-Alive - OFF
  • Suphp - OFF
  • php-memcache - OFF


Veja também:

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas