Após remover alguns plugins do WordPress na mão pelo FTP, o site todo começou a retornar essa mensagem de erro pluggable.php on line 934.
Foi quando após algumas tentativas, acabei encontrando um post no fórum da comunidade WordPress, que sugeria que o wp-config.php fosse removido (ou renomeado) para refazer a instalação para que o WordPress verificasse a instalação e resolvesse o problema.
Pra mim funcionou e espero que ajude outras pessoas.
Esse blog foi criado para compartilhar informações sobre WordPress, desenvolvimento web e programação PHP.
18 de fev. de 2013
7 de fev. de 2013
403 forbidden após enviar formulário RESOLVIDO
Se a sua aplicacação está apresentando o erro 403 forbidden, espero que essa dica ajude.
No meu caso o arquivo /login.php carregava normalmente.
Mas quando inseria os dados de usuário e senha o mesmo e faz um post para esse mesmo arquivo /login.php retornava um erro 403 forbidden.
Segundo a Wikipedia: 403 Forbidden (403 Proibido) é um código de erro HTTP retornado pelo servidor web quando o utilizador ou programa tenta obter acesso um recurso que o servidor não permite.
Fiz vários testes de permissão de arquivos, 777, 755, etc. E nada funcionava até que através do São Google, achei uma informação que apontou como uma das soluções a desativação do mod_security.
Primeiro tentei por conta própria seguindo as orientações que achei em um fórum da Hostgator para tentar desativar o mod_security via .htaccess para resolver esse problema do 403 Forbidden.
Disable mod_security in .htaccess file
I recommend you to try SecFilterScanPOST Off first, instead of disabling mod_security completely.
Mas não funcionou. E tive que recorrer ao suporte da hospedagem para solicitar a desativação do mod_security para a minha conta. Após a desativação tudo supimpa.
No meu caso o arquivo /login.php carregava normalmente.
Mas quando inseria os dados de usuário e senha o mesmo e faz um post para esse mesmo arquivo /login.php retornava um erro 403 forbidden.
Segundo a Wikipedia: 403 Forbidden (403 Proibido) é um código de erro HTTP retornado pelo servidor web quando o utilizador ou programa tenta obter acesso um recurso que o servidor não permite.
O erro também é obtido quando tenta ver a listagem de directórios em um servidor web com Apache ou Microsoft IIS com o recurso desabilitado.
Fiz vários testes de permissão de arquivos, 777, 755, etc. E nada funcionava até que através do São Google, achei uma informação que apontou como uma das soluções a desativação do mod_security.
Primeiro tentei por conta própria seguindo as orientações que achei em um fórum da Hostgator para tentar desativar o mod_security via .htaccess para resolver esse problema do 403 Forbidden.
Disable mod_security in .htaccess file
- If you do not have one yet, an .htaccess file in the folder of your web application
- To disable mod_security COMPLETELY, add the following line to the .htaccess file:
- SecFilterEngine Off
- OR, to disable HTTP POST scanning only, use the following instead:
- SecFilterScanPOST Off
- Save the file and test your web application to check whether disabling mod_security has solved your problem.
I recommend you to try SecFilterScanPOST Off first, instead of disabling mod_security completely.
Mas não funcionou. E tive que recorrer ao suporte da hospedagem para solicitar a desativação do mod_security para a minha conta. Após a desativação tudo supimpa.
14 de jan. de 2013
Resolvido: Wordpress + WP e-Commerce + Carrinho Vazio no PagSeguro
Estava implementando o módulo do pagseguro com o wordpress e o wp e-commerce e o módulo retornava um warning:
Warning: Invalid argument supplied for foreach() in /home/storage/9/36/ca/bannerscontrol2/public_html/wp-content/plugins/wp-e-commerce/wpsc-merchants/pagseguro.php on line 68
Na linha 68 o código era: foreach($cart->cart_items as $item) {
Então seguindo orientações de outros usuários de vários fóruns que passaram pelo mesmo problema, alterei o arquivo do pagseguro.php com as informações abaixo mas ainda assim não funcionou.
linha 19, alterada de:
$cart = unserialize($_SESSION['wpsc_cart']);
para:
$cart = $_SESSION['wpsc_cart'];
e ainda assim não funcionou.
Então debugando o código do módulo do pagseguro.php, percebi que a linha 68 não estava recebendo os dados em $cart
Nas variáveis globais tbem não tinha nenhuma referência para $cart, mas tinha para $wpsc_cart
Então fiz o teste de
foreach($cart->cart_items as $item) {
para
foreach($wpsc_cart->cart_items as $item) {
e deu gol!
Os testes foram feitos com sucesso usando:
wordpress 3.5
wp e-commerce 3.8.9.5
pagseguro wp-e-commerce_v3.2.4.zip
recomendado pela página
http://pagseguro.vis.../wp-e-commerce/
Espero que essa dica possa ajudar outras pessoas.
Warning: Invalid argument supplied for foreach() in /home/storage/9/36/ca/bannerscontrol2/public_html/wp-content/plugins/wp-e-commerce/wpsc-merchants/pagseguro.php on line 68
Na linha 68 o código era: foreach($cart->cart_items as $item) {
Então seguindo orientações de outros usuários de vários fóruns que passaram pelo mesmo problema, alterei o arquivo do pagseguro.php com as informações abaixo mas ainda assim não funcionou.
linha 19, alterada de:
$cart = unserialize($_SESSION['wpsc_cart']);
para:
$cart = $_SESSION['wpsc_cart'];
e ainda assim não funcionou.
Então debugando o código do módulo do pagseguro.php, percebi que a linha 68 não estava recebendo os dados em $cart
Nas variáveis globais tbem não tinha nenhuma referência para $cart, mas tinha para $wpsc_cart
Então fiz o teste de
foreach($cart->cart_items as $item) {
para
foreach($wpsc_cart->cart_items as $item) {
e deu gol!
Os testes foram feitos com sucesso usando:
wordpress 3.5
wp e-commerce 3.8.9.5
pagseguro wp-e-commerce_v3.2.4.zip
recomendado pela página
http://pagseguro.vis.../wp-e-commerce/
Espero que essa dica possa ajudar outras pessoas.
30 de jun. de 2012
Remove write-protected arquivo comum - RESOLVIDO
Como profissional não especializado em servidores, quebrei a cabeça para apagar alguns arquivos no sistema e que não conseguia remover de jeito algum:
root@vps [/home/itcpfgvo/public_html]# rm br0k3n.html rm: remove write-protected arquivo comum `br0k3n.html'? sEu executei diversas tentativas e nenhuma delas funcionava até que encontrei a documentação do comando chattr em um post na comunidade viva o linux e utilizando o comando
chattr -ias br0k3n.htmlRestaurou os atributos do arquivo com as opções: - para remover os atributos a - Append Only, arquivo pode somente ser gravado em modo incrementado, ou seja, pode ser adicionado conteúdo somente no final do arquivo, não pode ser removido ou renomeado. i - Imutáveis. Arquivos Imutáveis não podem ser modificados, gravados, removidos, renomeados. Até mesmo o usuário root com pode máximo não pode alterar. s - É chamado de apagamento seguro, quando eliminado o arquivo é zerado sem possibilidade de recuperação. Feito isso, só foi dar um rm -f nomedoarquivo e pronto! Resolvido, o arquivo foi removido.
9 de jan. de 2012
ZTE ZXDSL 831 2 series + D-LINK DIR-615
Depois de uma chuva que resultou na queima do modem e do roteador, passei 2 dias tentando fazer o meu novo modem ZTE ZXDSL 831 2 series fornecido pela Telefônica funcionar com o meu novo roteador D-LINK DIR-615, mas finalmente consegui!
Testei várias configurações, li vários posts, como este post aqui do Liberar Modem ZTE ZXDSL 831 II para ser roteado do Clube do Hardware.
Mas o que acabou resolvendo foi zerar a configuração dos dois equipamentos e começar tudo de novo.
Comecei configurando o modem ZTE ZXDSL 831 com VPI=8 e VCI=35 (configurações para o Speedy da Telefônica - SP), coloquei o modem como PPP over Ethernet (PPPoE), Encapsulação "LLC/SNAP", IP automático, NAT Habilitado, informei os dados de acesso do meu provedor, IP Primário 192.168.1.1, DHCP Habilitado, e acho que foi isso.
Depois configurei o meu D-LINK DIR-615 para funcionar com o IP 192.168.2.1 e em Setup / Internet / Manual Internet Connection Setup e no campo My Internet Connection is selecione a opção Dynamic IP (DHCP)
Talvez esse link também ajude!
E boa sorte para quem encontrar esse post!
Testei várias configurações, li vários posts, como este post aqui do Liberar Modem ZTE ZXDSL 831 II para ser roteado do Clube do Hardware.
Mas o que acabou resolvendo foi zerar a configuração dos dois equipamentos e começar tudo de novo.
Comecei configurando o modem ZTE ZXDSL 831 com VPI=8 e VCI=35 (configurações para o Speedy da Telefônica - SP), coloquei o modem como PPP over Ethernet (PPPoE), Encapsulação "LLC/SNAP", IP automático, NAT Habilitado, informei os dados de acesso do meu provedor, IP Primário 192.168.1.1, DHCP Habilitado, e acho que foi isso.
Depois configurei o meu D-LINK DIR-615 para funcionar com o IP 192.168.2.1 e em Setup / Internet / Manual Internet Connection Setup e no campo My Internet Connection is selecione a opção Dynamic IP (DHCP)
Talvez esse link também ajude!
E boa sorte para quem encontrar esse post!
28 de out. de 2011
Como configurar o BroadCom Wireless no OpenSUSE
Tive que zerar a minha instalação do OpenSUSE e com isso o wireless parou de funcionar.
Depois de várias buscas encontrei esse post nesse site, que sugere
algo bem simples e que resolveu meu problema.
A solução: Abrir o terminal, trocar o usuário para root (su -) e então executar o comando abaixo
Como eles explicam nesse post, a Broadcom não revela os detalhes sobre o seu chipset e não permite a distribuição dos seus direitos autorais. Com isso, para obter o firmware instalado, você precisaria baixar o driver Broadcom adequado, extrair o firmware desse driver, e colocá-lo no diretório correto.
Nota: Para BCM4311Rev2 chipset clique aqui e para BCM4328 clique aqui.
Para instalar e usar com sucesso os dispositivos sem fio Broadcom no Linux openSUSE ou outros, você pode usar os drivers bcm43zz daqui
Os drivers bcm43xx são baseados em especificações de engenharia reversa e agora estão incluídos no Kernel Linux a partir de 2.6.17-rc2. Isto significa que a versão do openSUSE 11.0 já deve ter o driver embutido com Linux Kernel 2.6.25.5-1.1.
Então não precisei baixar nada e para instalar os drivers na minha rede sem fio no openSUSE 11.0, tudo que eu fiz foi exatamente isso:
Abri o terminal, mudei o usuário para root e execute o instalador do driver bcm com o comando abaixo:
Depois de várias buscas encontrei esse post nesse site, que sugere
algo bem simples e que resolveu meu problema.
A solução: Abrir o terminal, trocar o usuário para root (su -) e então executar o comando abaixo
/usr/sbin/install_bcm43xx_firmware
Como eles explicam nesse post, a Broadcom não revela os detalhes sobre o seu chipset e não permite a distribuição dos seus direitos autorais. Com isso, para obter o firmware instalado, você precisaria baixar o driver Broadcom adequado, extrair o firmware desse driver, e colocá-lo no diretório correto.
Nota: Para BCM4311Rev2 chipset clique aqui e para BCM4328 clique aqui.
Para instalar e usar com sucesso os dispositivos sem fio Broadcom no Linux openSUSE ou outros, você pode usar os drivers bcm43zz daqui
Os drivers bcm43xx são baseados em especificações de engenharia reversa e agora estão incluídos no Kernel Linux a partir de 2.6.17-rc2. Isto significa que a versão do openSUSE 11.0 já deve ter o driver embutido com Linux Kernel 2.6.25.5-1.1.
Então não precisei baixar nada e para instalar os drivers na minha rede sem fio no openSUSE 11.0, tudo que eu fiz foi exatamente isso:
Abri o terminal, mudei o usuário para root e execute o instalador do driver bcm com o comando abaixo:
/usr/sbin/install_bcm43xx_firmware
21 de mai. de 2011
Instalação do Last.fm no OpenSuse
A dificuldade de instalar o Last.fm no OpenSuse 11 foi tanta que mereceu um post!
Baixei o Scrobbler da Last.fm para Linux diretamente do site da Last.fm
Tentei rodar a triada básica ./configure, make e make install e começaram os problemas de dependências de pacotes:
Depois seguindo a orientação desta página, fiz essa alteração tbem:
Então novamente tentei rodar o
E ainda assim deu problema ao tentar copilar e resolvi editando 3 arquivos conforme orientação de outra página que eu não lembro, mas basicamente foi carregar uns arquivos no header de alguns arquivos:
No arquivo "src/libFingerprint/fplib/src/FingerprintExtractor.cpp" eu adicionei a linha abaixo:
#include <cstring>
No arquivo "src/libFingerprint/fplib/src/OptFFT.cpp" eu adicionei a linha:
#include <cstdlib>
E no arquivo "src/libFingerprint/MP3_Source_Qt.cpp" adicionei a linha:
#include <cstdlib>
#include <climits>
Então novamente tentei rodar o
E tudo beleza, para testar rodei o comando
Para finalizar movimentei os arquivos binários para a pasta opt com o comando:
E por último criei um lançador na área de trabalho apontando para
Baixei o Scrobbler da Last.fm para Linux diretamente do site da Last.fm
http://www.lastfm.com.br/download
Tentei rodar a triada básica ./configure, make e make install e começaram os problemas de dependências de pacotes:
sudo zypper install libsamplerate
sudo zypper install libmad-devel
sudo zypper install fftw3 fftw3-devel
sudo zypper install cmake
sudo zypper install libgpod-devel
sudo zypper install alsa-devel
sudo zypper install libsndfile
Depois seguindo a orientação desta página, fiz essa alteração tbem:
sudo cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/.
Então novamente tentei rodar o
./configure && make
E ainda assim deu problema ao tentar copilar e resolvi editando 3 arquivos conforme orientação de outra página que eu não lembro, mas basicamente foi carregar uns arquivos no header de alguns arquivos:
No arquivo "src/libFingerprint/fplib/src/FingerprintExtractor.cpp" eu adicionei a linha abaixo:
#include <cstring>
No arquivo "src/libFingerprint/fplib/src/OptFFT.cpp" eu adicionei a linha:
#include <cstdlib>
E no arquivo "src/libFingerprint/MP3_Source_Qt.cpp" adicionei a linha:
#include <cstdlib>
#include <climits>
Então novamente tentei rodar o
./configure && make
E tudo beleza, para testar rodei o comando
"bin/last.fm.sh"e funcionou tudo normal.
Para finalizar movimentei os arquivos binários para a pasta opt com o comando:
mv last.fm-1.4.2.58240/bin /opt/last.fm
E por último criei um lançador na área de trabalho apontando para
/opt/last.fm/last.fm.sh
Assinar:
Postagens (Atom)
