Login do usuário
Pesquisa no site
Assine o RSS do Drupal-BR
Itens ativos
[Resolvido]Rodar update.php
Estou precisando rodar o "update.php" pois a instalação do drupal está acusando que tem algo a ser atualizado.
Até ai sem problemas, porém quando tento rodar ele, ele retorna para o endereço: "www.dominio.com/?op=info"
Dando uma pesquisado descobri que é porque ele está bloqueado e para desbloquear deveria modificar uma linha no "settings.php" porém quando modifico algo neste arquivo, ele simplesmente não modifica nada.
Pra testar já tentei até exclui-lo do sistema, porém não é possível, algo está segurando ele, me impedindo de modificar ou deletar.
Será que alguêm conhece uma solução para tal problema?
Obrigado
Eldon
- Se logue ou se registre para poder enviar comentários
- 5680 leituras
Cara, estranho estar dando esse erro. Normalmente o que você precisa, para atualizar é:
se logar como administrador (usuário 1)
Acessar update.php do seu site
Seguir os passos.
Esse passo alternativo que vc está querendo executar é quando você não consegue se logar com o usuário 1.
E sobre a edição do arquivo, o problema é que (provavelmente) o arquivo não pertence mais ao seu usuário de FTP, e sim ao usuário do servidor Web (apache) assim vc teria que dar um chmod 777 para poder editá-lo e depois voltar para a permissão correta (644 se não me engano).
Abraço
--
Rafael Ferreira Silva
http://www.rafaelsilva.net
- Se logue ou se registre para poder enviar comentários
Pois é, deveria ser apenas estar logado e rodar-lo. Antes eu conseguia normalmente, agora que começou isso tudo.
Quanto a permissão das pastas, pelo menos colocando permissão 777 nelas eu estou conseguindo edita-las, já é suficiente para mim.
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
- Se logue ou se registre para poder enviar comentários
Olá Rafael,
Quando o arquivo é criado pelo apache ou o dono é outro, não há como mudar as permissões dele. Em alguns servidores, no máximo a gente consegue apagar ele. Claro que isso vai da configuração do apache, mas a maioria trabalha assim.
É só um detalhe... ;)
- Se logue ou se registre para poder enviar comentários
RESOLVIDO!
Motivo: Por algum motivo "eu" exclui dois temas que veem junto com a instalação do drupal:
"garland e engines"
Isso porque eu havia muitos themes listados, porem não usava nenhum, e resolvi fazer uma limpa e acabei excluindo o que não devia.
Conclusão: precisava do theme garland, já que o tema usado no update.php é ele.
Obrigado a todos pela ajuda, podem não ter resolvido meu problema, porém tenham certeza que depois de tudo isso passei a conheçer muito mais o drupal.
Obrigado.
http://www.treewy.com
Eldon
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
- Se logue ou se registre para poder enviar comentários
Oi Eldon,
Quando eu pedi para vc ver a linha referente ao tema é porque suspeitei disso, mas como eu imaginei que vc tinha acesso ao admin do teu site, então não poderia ser. Pelo que vc relata, então nem no admin vc entrava...
Mas que bom que resolveu então.
Abs
- Se logue ou se registre para poder enviar comentários
Eu entrava na conta de admin sim, na verdade eu nunca saiu dela, apenas pra testar algo para visitantes.
O que aconteceu mesmo foi que quando eu estava limpando temas que não usava, acabei limpando temas do drupal.
E quando se roda o update.php ele não usa o tema que o site usa, ele usa um em azul próprio do drupal, justamente o que eu exclui, ai quando ele procurava o tema e não achava a pagina ficava em branco.
De qualquer forma eu agradeço muito, com tudo isso consegui aprender outras coisas que na certa serão uteis
Att
Eldon
http://www.treewy.com
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
- Se logue ou se registre para poder enviar comentários
Eu tive esse problema hoje. No meu caso um node estava com um header(Location:user/register), o que quebrou a execução da cron.
Documentei no meu blog, em http://www.marcomalaquias.com.br/blog/2011/05/30/a-execucao-do-cron-php-...
Espero que ajude.
- Se logue ou se registre para poder enviar comentários



Eldon
antes de mexer altera o nome do settings.php quando vc terminar de mexer nele depois poe de novo para settings.php
Olá Eldon,
1. Se tua instalação é padrão, não é necessário desbloquear nada no settings.php relativo ao update.php;
2. Se vc não consegue excluir ou editar o arquivo settings.php é porque ele está sem permissão de escrita;
Por curiosidade, com relação a modificação que deve ser feita no settings.php o que vc descobriu exatamente ? Ou seja, qual linha deve ser desbloqueada?
Abs
Não consigo renomear o nome, da "permissão negada".
Quanto a instalação padrão, acredito que seja, porem ele esta bloqueado, e procurando dentro do proprio drupal vi que era preciso alterar a linha: $update_free_access = FALSE;
Para: $update_free_access = TRUE;
E que esta alteração deveria ser feita no proprio arquivo "update.php" porem no update.php ele manda alterar no "settings.php"
Acho que consegui explicar.
Mais duvidas perguntem.
Obrigado.
Eldon
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Olá Eldon,
Tentando clarear as idéias...
São 2 situações:
1. Quando vc atualiza algum módulo e roda o update.php.
2. Quando vc atualiza o Drupal.
No caso 1, (que acredito ser o seu), não há necessidade de alteração nenhuma no settings.php. E mudar para TRUE o $update_free_access não resolverá seu problema (me corrijam se estiver enganado), já que você provavelmente estará logado como administrador.
No caso 2 (que não deve ser seu caso) somente deve ser feita essa alteração no settings.php, quando vc não consegue rodar o update.php por não estar logado como administrador. Atenção, estou falando aqui de atualização do Drupal e não de módulos. ;)
Enfim, acredito pelo que vc coloca, que deve ser algo relacionado a permissões de alguma pasta ou arquivo envolvido na atualização ou ainda em urls limpas.
Se ficou alguma dúvida, diga e tenta passar mais detalhes do que está fazendo, mensagens de erro, qual sistema está rodando, etc. Habilita o debug em Início › Administrar › Configuração do site › Aviso de erro para "Registrar erros e exibir na tela" e vê o que ocorre.
Abs
Sim, deve ser a primeira opção
Olha a mensagem que estou recebendo:
Atualizações do banco de dados | Desatualizado
Alguns módulos têm alterações a fazer no banco de dados. Você deve rodar a atualização do banco de dados imediatamente.
E quando clico ai para rodar o update.php ele me retorna a seguinte pegina em branco: http://www.treewy.com/update.php?op=info
E sim, estou logado como administrador, e a versão do Drupal é a 6.12
e já esta em "Registrar erros e exibir na tela", porem mesmo assim carrega uma pagina em branco.
-- Edit --
Achei um log de erro na pagina que mostrei, vê se significa alguma coisa para vocês:
Detalhes
Tipo php
Data sexta-feira, 12 Junho, 2009 - 12:06
Usuário Eldon
Localização http://treewy.com/update.php?op=info
Referência http://www.treewy.com/admin/reports/status
Mensagem include() [function.include]: Failed opening './themes/garland/maintenance-page.tpl.php' for inclusion (include_path='.:/usr/lib/php') em /home/treewy/public_html/includes/theme.inc na linha 1020.
Severidade erro
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Olá Eldon,
Dei uma olhada no teu site (bacana por sinal) e já deu para perceber o seguinte:
1. Aos executar o update.php ele direciona para a página info(op=info), que acontece quando não estamos logado como admin.Essa página informa o procedimento para executar o update quando não conseguimos logar como admin (a modificação no settings.php que vc referiu acima). Por algum motivo essa página não está sendo encontrada.
2. Os status retornados pela requisição:
- http://www.treewy.com/update.php - 302 Moved Temporarily
- http://treewy.com/update.php?op=info - 301 Moved Permanently
Algumas coisas a serem feitas:
1. Vc criou o papel(roles) administrador ?
2. Atribuiu o papel(roles) administrador ao seu username ?
3. Liberou todas as permissões ao papel(roles) administrador ?
4. Verifique quais as permissões do arquivo settings.php e seu proprietário
5. Como você fez a instalação do Drupal ? Usou algum pacote da hospedagem ou fez manualmente ?
6. Informe aqui o seu .htaccess
Outra opção, como aparentemente pode ser algo na configuração do servidor ou arquivos faltando/corrompidos, seria vc subir um novo pacote do Drupal, sem a pasta /sites desse pacote (por precaução, já que ela não contém nada que atrapalhe), passando por cima do atual (sobrescrevendo). Isso pode corrigir algum erro de arquivo corrompido.
Abs
Vou tentar responder por etapas.
1. Vc criou o papel(roles) administrador? Não, eu uso essa mesma conta desde quando instalei o drupal
2. Atribuiu o papel(roles) administrador ao seu username? Resposta acima. (se eu criar o papel de administrador e der todas as permissões a algum usuario(criado por mim claro) vai funcionar?)
4. Verifique quais as permissões do arquivo settings.php e seu proprietário. Desculpe, mais não sei como fazer isso.
5. Como você fez a instalação do Drupal ? Usou algum pacote da hospedagem ou fez manualmente? Na verdade, eu possui-a o drupal instalado manualmente em um host, porém tive que fazer uma migração de host, nisso fiz outra instalação manual no novo host e subscrevi os arquivos que eu queria.
6. Informe aqui o seu .htaccess:
-------------------------------------------------------------------------------------------------------------------
text/x-generic .htaccess
ASCII English text
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order allow,deny
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force simple error message for requests for non-existent favicon.ico.
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 4, Apache 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 5, Apache 1 and 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
# Various rewrite rules.
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $
------------------------------------------------------------------------------------------------------------------
Tenho medo de fazer uma nova instalação do drupal e perder meu conteúdo.
Já rodou o update.php alguma vez? Não me lembro se depois de ter trocado de host eu rodei ele, porém é bem provável que sim.
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Complementando Eldon, me veio uma questão agora:
Vc rodou alguma vez o update.php com sucesso ou nunca tinha feito ?
Abs
Reposta acima /\
"Não me lembro se já rodei ele depois que troquei de host."
Tem alguma forma de fazer um backup do conteudo pra tentar uma reinstalação total do drupal?
-- Edit --
Achei o seguinte erro quando tento modificar o "settings.php":
---------------------------------------------
open settings.php failed: Permission denied at cpanel.pl line 663
Carp::croak('open settings.php failed: Permission denied') called at /usr/local/cpanel/Cpanel/Fileman.pm line 1139
Cpanel::Fileman::fmsavefile('%2fhome%2ftreewy%2fpublic_html%2fsites%2fdefault', 'settings.php', '<?php^M^J// $Id: default.settings.php,v 1.8.2.1 2008/08/13 06:52:3...', '', 1) called at cpanel.pl line 663
main::__ANON__('%2fhome%2ftreewy%2fpublic_html%2fsites%2fdefault', 'settings.php', '<?php^M^J// $Id: default.settings.php,v 1.8.2.1 2008/08/13 06:52:3...', '', 1) called at cpanel.pl line 1779
main::exectag('
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Eldon,
Como vc diz que não sabe ver as permissões/dono de um arquivo, fica difícil ajudar. Não me entenda mal, ok ? Mas não vejo como interagir nesse caso, via fórum.
Ficaria complicado e correndo o risco de alguma perda.
Então vamos tentar o básico, "menos perigoso"
1. Se for possível, crie um papel administrador, libere tudo para ele e atribua as permissões ao ususário com id 1 (que em princípio deveria ser você). Isso feito, limpe o cache, rode o cron e o update.php
O recomendado pelo Drupal, é que se crie um papel administrador, com todos os privilégios e que seja atribuído ao usuário nº1. Isso facilita na hora de atualizar seu site, conforme informado aqui:
If possible, log on as the user with user ID 1, which is the first account created and the main administrator account. User ID 1 will be able to automatically access update.php in step #10. There are special instructions in step #10 if you are unable to log on as user ID 1. Do not close your browser until the final step is complete.
2. Com relação ao settings.php vc não tem permissão de escrita. E para mudar ela, vc precisa ser o dono do arquivo, do contrário vc não consegue mudar mesmo.
3. Teu .htaccess tem umas "incoerências" relativas ao php mas nada que prejudique, então deixa ele quieto ;) por enquanto.
Abs
1 - Não sabia que era preciso fazer um perfil de admin para a conta nº1
Porem eu fiz mais nada também, e sim, eu estou usando o usuario numero um como admin.
Porem fuçando em meu host, vi uma opção: "Alterar Permissão"
Fui la e já tinha umas caixinhas selecionadas, aproveitei e selecionei tudo.
Agora a pagina que retorna não é mais a "http://treewy.com/update.php?op=info", mais sim a de "Pagina não encontrada".
Será que estamos evoluindo? xD
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Olá Eldon,
1. Não é preciso mas é recomendável, porque facilita algumas coisas :)
2. Vc não deve ficar com as permissões liberadas para o settings.php por questão de segurança de seu site. Já que conseguiu mudar a permissão, abre o arquivo settings.php num editor e procura a linha (no meu é a linha 104):
$update_free_access = FALSE;Troca o FALSE por TRUE tomando o cuidado de não apagar o ponto-e-vírgula. Agora vc deve poder rodar o update.php sem estar logado.
Faça isso e depois, independentemente de ter dado certo ou não, VOLTE A LINHA AO PADRÃO E MUDE A PERMISSÃO DO SETTINGS.PHP:
chmod a-w sites/default/settings.php ou
chmod 555 sites/default/settings.php ou ainda pelo cpanel.
Abs
Bom, acontece agora é o Pagina não encontrada, mesmo estando em TRUE;
Será que isso também é alguma configuração no settings.php?
Obrigado pela paciência cara, sei como é difícil explicar algo parta leigos.
Obrigado
Eldon
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
O arquivo update.php está na pasta raiz ? Porque ele não está sendo encontrado.
abs
ps.: o problema não é explicar, mas explicar num fórum onde a interação é difícil. Mas tranquilo, hoje eu ajudo você, amanhã você me ajuda, ou ajuda outros, eu sou ajudado por outros também e assim vamos caminhando, uns ajudando os outros :D Então tá valendo :D :D
Abs
Outra coisa que me veio a cabeça:
Verifica se tem uma linha assim no teu settings.php
$conf['maintenance_theme'] = 'nome_de_tema';
Se ela estiver configurada para algum tema específico, comenta ela acrescentando um '#' na frente da linha. Ela deve ficar assim:
#$conf['maintenance_theme'] = 'nome_de_tema';
abs
Sim, o update.php está na pasta raiz do drupal.
Quanto a esta linha, não tem não, a única parecida é esta:
$conf['locale_custom_strings_en'] = array
As vezes aparem uns erro com esse tal de "maintenance_theme", porém é só dar atualizar que ele some.
Mas acontece frequentemente.
-- EDIT --
Descobri uma coisa, quando eu altero a permissão do "update.php" para 7 7 7, ele da pagina não encontrada, quando eu altero para 5 5 5, ele retonar o pagina em branco: http://www.treewy.com/update.php?op=info
Que confuso.
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com
Isso tá parecendo alguma zica no servidor. Não sei exatamente o que pode ser.
--
Rafael Ferreira Silva
http://www.rafaelsilva.net
Ah, descobri uma coisa, não sei se afeta em algo mais...
Quando eu instalei o drupal teve um tal de erro do "Register Globals"
Ai pra arrumar isso, vi aqui mesmo no forum que era preciso criar um arquivo "php.ini".
E colocar dentro: "[PHP]register_globals = Off"
Ai pra testar eu retirei ele, e agora aconteçe o seguinte:
Com php.ini no servidor: "http://www.treewy.com/update.php"
Sem php.ini no servidor: "http://www.treewy.com/update.php?op=info"
Ambas em branco, não abrem nada.
Essa historia fica cada vez pior, alias, como posso resolver aquele "$conf['maintenance_theme'] = 'nome_de_tema';" que não tem no meu settings.php, porque as vezes da uns erros nesse valor: "maintenance_theme"
Atenciosamente
Eldon
--
Atenciosamente,
Gustavo Rosolem
http://www.gustavorosolem.com
http://www.treewy.com