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.
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.ini
arquivosquesã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.log
aoseuphp.ini
ou.user.ini
eatualizeoarquivophpinfo()
.Emseguida,verifiqueologouquaisquererrosóbvios.Sevocênãoestárecebendonenhumerroeophalconnãoestáaparecendo,éprovávelqueoseuservidornãoestejalendooseuarquivoinicorretamente.Édefinitivamentenasuapastapublic_html
?Vocêjátentouosformatosphp.ini
e.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.