Como posso instalar o phalcon (ou qualquer módulo / extensão PHP personalizado) no meu host cPanel compartilhado? [fechadas]

5

É possível instalar phalcon (uma extensão / módulo PHP personalizado PECL) em um serviço de hospedagem compartilhada que usa o cPanel , ou é normalmente algo que requer acesso root?

Ou seja, ainda posso de alguma forma obter os benefícios do phalcon no meu host existente sem ter que alugar um VPS?

    
por Simon East 22.06.2014 / 16:34

1 resposta

8

Seu host pode instalar extensões personalizadas para você, não é demais perguntar.

Mas a maioria, geralmente, recomendará a atualização para um VPS que permita acesso root completo, a capacidade de instalar o que você quiser e menos riscos de afetar negativamente o desempenho de outros usuários do servidor. Os VPSs podem exigir esforço administrativo adicional e conhecimento técnico, a menos que você opte por um "VPS gerenciado", que geralmente adiciona um custo mensal significativo.

Assim, supondo que meu host não queira ativar uma extensão personalizada para mim, resolvi descobrir se poderia fazer isso sozinho. Eu encontrei uma maneira de fazê-lo sem precisar de acesso SSH ou de linha de comando .

Passo 1: Obtenha phalcon.so

Você precisa obter a compilação correta de phalcon.so para seu ambiente de servidor e versão do PHP.

O cPanel geralmente é executado no CentOS, no Red Hat Enterprise Linux (RHEL) ou no CloudLinux. O site phalcon oferece algumas versões binárias para download, mas infelizmente nada para o CentOS / RHEL.

Aqui estão os arquivos que eu compilei para o CentOS 64bit com PHP 5.3 e 5.4. Você é bem-vindo para tentar isso, se quiser, até que outros disponibilizem binários, ou veja abaixo instruções sobre como compilar seus próprios arquivos.

link link

Carregue isso via FTP para o seu diretório pessoal.

Etapa 2: ativar a extensão

Você precisa adicionar a seguinte linha a php.ini :

extension = /home/__USERNAME__/phalcon.so

(Substitua __USERNAME__ pelo seu nome de usuário real do cPanel)

Não tenho certeza se todos os hosts do cPanel são assim, mas o meu host VentraIP permite que você coloque um% personalizadophp.ini ou .user.ini na pasta public_html , que substitui as configurações padrão do PHP.

Você pode obter uma dica de como isso é possível fazendo o upload de <?php phpinfo(); em um arquivo em seu servidor e ligando do seu navegador. Espero que você tenha uma linha como a abaixo ...

Casocontrário,vocêpodeterqueusar.user.iniarquivosquesãomostradosassim...

Observe que, com .user.ini arquivos, eles são normalmente armazenados em cache pelo servidor por 300 segundos, portanto, se você fizer uma alteração em um, poderá levar até cinco minutos para que a alteração entre em vigor.

Etapa 3: verifique se funciona

Atualize sua página phpinfo() no navegador. Se o phalcon foi carregado corretamente, você encontrará uma seção adicional exibida assim:

Sevocêchegouatéaqui,viva!

Nãoestáfuncionando?

Ativeoregistrodeerrosadicionandoerror_log=/home/__USERNAME__/error.logaoseuphp.iniou.user.inieatualizeoarquivophpinfo().Emseguida,verifiqueologouquaisquererrosóbvios.Sevocênãoestárecebendonenhumerroeophalconnãoestáaparecendo,éprovávelqueoseuservidornãoestejalendooseuarquivoinicorretamente.Édefinitivamentenasuapastapublic_html?Vocêjátentouosformatosphp.inie.user.ini?

Naminhaprimeiratentativa,comeceiareceberesseerronosmeusregistros:PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'/home/yumpstag/phalcon.so'-/home/yumpstag/phalcon.so:undefinedsymbol:output_globalsinUnknownonline0

Descobriqueeutinhaaversãoincorretadephalcon.so(criadaparaoPHP5.3emvezde5.4)etivequerecompilá-la.

Comocompilarphalcon.so(ououtraextensão)vocêmesmo

Provavelmente,vocênãoserácapazdeexecutarumcompiladoremseuservidorcPanelsemacessoroot,entãovocêprecisaráencontrarumservidorsimilarparafazerisso.Aquiestáoqueeufiz:

  • Baixei uma imagem do VirtualBox do CentOS 6 aqui (ou veja a lista completa aqui )
  • Inicialize em VirtualBox
  • Login com raiz / reversa
  • (Se alguns caracteres do teclado não estiverem aparecendo corretamente, digite loadkeys us )

O próximo passo é garantir que você tenha a versão principal correta do PHP instalada, isso precisa corresponder ao que você está usando no seu host cPanel . Se você quer uma versão diferente do PHP diferente do padrão que o CentOS suporta (PHP 5.3 no momento da escrita), tente isto:

sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
sudo yum install php54w-devel        # FOR PHP 5.4 ONLY

(Caso contrário, para ir com a versão padrão do CentOS:)

sudo yum install php-devel           # FOR PHP 5.3 ONLY

Em seguida, instale os pré-requisitos restantes:

sudo yum install php-mysql gcc libtool git

Busque phalcon e compile:

git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install

Quando terminar, ele informará onde está o arquivo phalcon.so. Você pode então fazer o upload via FTP para o seu diretório pessoal do cPanel.

sudo yum install ftp
ftp myhostname.com
put /usr/lib64/php/modules/phalcon.so /phalcon.so

Em seguida, volte para as etapas 2 e 3 para concluir o processo.

Espero que ajude alguns outros. Por favor, comente abaixo se você tem alguma dica adicional para oferecer.

    
por 22.06.2014 / 16:34

Tags