Início
Versões
Imagens
Configuração
Configuração do Apache
Acessando Logs
Hot Deploying
Início
O OpenShift fornece o S2I habilitado em imagens PHP para construir e rodar aplicações PHP. O PHP S2I builder image usa o código da sua aplicação com as dependências requeridas para criar uma nova imagem contendo sua aplicação PHP. Esta imagem pode ser executada pelo OpenShift ou pelo Docker.
Versões
A versão atual que o OpenShift fornece do PHP é 5.5, 5.6 e 7.0.
Além disso a Getup oferece duas versões de PHP-Extra 5.5 e 5.6.
Imagens
Estas imagens estão disponíveis na distribuição CentOS
Imagens baseadas em CentOS 7
Esta imagem está disponível no DockerHub. Para fazer download:
$ docker pull openshift/php-55-centos7
$ docker pull centos/php-56-centos7
$ docker pull getupcloud/php-70-centos7
Para usar essa imagem, você pode acessa-las diretamente através desse registro de imagens, ou enviar para seu registro OpenShift Docker. Adicionalmente, você pode criar uma image stream que aponte para a imagem, no seu registro Docker ou numa localização externa. Os recursos do seu OpenShift podem agora fazer referencia ao ImageStream. Você pode encontrar exemplo de definições de image streams para todas as imagens do OpenShift.
Configuração
A imagem PHP suporta variáveis de ambiente que podem ser setadas para controlar o comportamento do PHP durante a execução.
Para configurar as variáveis de ambiente, você pode coloca-las dentro do arquivo .s2i/environment dentro do seu repositório, ou defini-las na seção environment de configuração do build da definição sourceStrategy.
As seguintes variáveis de ambiente equivalem aos valores setados no arquivo php.ini.
Tabela 1. Variáveis de ambiente do PHP
Nome da Variável | Descrição | Default |
ERROR_REPORTING | Informa o PHP de errors e warnings que você gostaria de ser avisado para tomar uma ação. | E_ALL & ~E_NOTICE |
DISPLAY_ERRORS | Controla se e onde as mensagens de errors, notices e warnings devem ser exibidas. | ON |
DISPLAY_STARTUP_ERRORS | Qualquer erro que ocorrer durante a inicialização do PHP vai ser tratado separado do display errors. | OFF |
TRACK_ERRORS | Armazena a última mensagem de error/warning em $php_errormsg(boolean). | OFF |
HTML_ERRORS | Aponta os erros para a documentação relacionada ao erro. | ON |
INCLUDE_PATH | Path para os arquivos do PHP. | .:/opt/openshift/src:/opt/rh/php55/root/usr/share/pear |
SESSION_PATH | Local para os arquivos de sessão. | /tmp/sessions |
SHORT_OPEN_TAG | Determina quando o PHP reconhecerá o código entre <? e ?>. | ON |
DOCUMENTROOT | Caminho do DocumentRoot de sua aplicação, (ex: /public) | / |
As seguintes variáveis de ambiente equivalem aos valores setados no arquivo opcache.ini:
Tabela 2. Configurações adicionais do PHP
Nome da Variável | Descrição | Default |
OPCACHE_MEMORY_CONSUPTION | O tamanho de memória compartilhada pelo OPcache. | 16M |
OPCACHE_REVALIDATE_FREQ | A frequência que o script vai ser checado por atualizações, em segundos. 0 resulta em um check para cada requisição de update do OPcache. | 2 |
Você pode também sobrescrever o diretório usado para carregar as configurações do PHP ao configurar:
Tabela 3. Configurações adicionais do PHP
Nome da Variável | Descrição |
PHPRC | Configura o path para o arquivo php.ini. |
PHP_INI_SCAN_DIR | Path para procurar por arquivos adicionais com a extensão .ini. |
Configuração do Apache
Se o DocumentRoot da aplicação estiver apontando para /opt/openshift/src, você pode criar seu próprio .htaccess para sobrescrever as opções default do Apache e especificar como as requisições da aplicação devem ser tratadas. O arquivo .htaccess deve estar na pasta raiz da aplicação.
Acessando Logs
Os logs de acesso são exibidos na stdout e podem ser vistos usando o comando oc logs. Os logs de erro são armazenados no arquivo /tmp/error_log, que pode ser visto ao acessar o container através do comando oc rsh.
Hot Deploying
Hot deployment permite que você faça deploy rapidamente de sua aplicação sem ter que gerar um novo S2I build. Para pegar as configurações feitas no seu código fonte imediatamente, você deve rodar o built da sua imagem com a variável OPCACHE_REVALIDATE_FREQ=0. Exemplo, veja o comando oc new-app. Você pode usar o comando oc env para atualizar as variáveis de ambiente de objetos existente.
![]() |
Você deve usar esta opção enquanto estiver desenvolvendo ou debugando; não é recomendado ativar esta opção em um ambiente de produção. |
Para alterar seu código fonte em um pod em execução, use o comando oc rsh para conectar no container:
$ oc rsh <pod_id>
Depois que estiver conectado no container, seu diretório atual é /opt/app-root/src, que é onde seu código esta armazenado.
PHP-Extra
Uma imagem mantida pela Getup com pacotes adicionais, que vão agilizar ainda mais seus deploys.
Módulos inclusos:
- NewRelic
Para ativar esta funcionalidade você deve adicionar às seguintes variáveis de ambiente :
- NEWRELIC_KEY
- NEWRELIC_APPNAME
- Multisite
Com esta função você poderá ter diversos sites, a partir de diretórios na raiz de seu repositório em um único container, por exemplo:
/site1.com.br
/site2.org
/siteN.com
Para ativar esta funcionalidade você deve adicionar a seguinte variável de ambiente :
- ENABLE_MULTISITE = True
- mcrypt
- Redis
Suporte à conexão nativo com o redis usando esta extensão, e automaticamente detectamos o redis adicionado ao seu projeto, então , após adiciona-lo basta usar pois já estará integrado.
Comentários
0 comentário
Por favor, entre para comentar.