Como posso impedir que o WordPress me solicite a inserir informações de FTP ao fazer atualizações?

28

Como posso impedir que o WordPress me solicite a inserir informações de FTP ao fazer atualizações?

    
por artlung 11.08.2010 / 22:22
fonte

5 respostas

23

Se você editar seu arquivo wp-config.php , poderá pré-carregar essas configurações de FTP como constantes lidas pelo WordPress. Tenha em mente que, em um host compartilhado, você deve estar ciente das possíveis implicações de segurança. Consulte Editando wp-config.php para obter mais informações.

Suas configurações variam, mas funcionam para mim e para minha configuração de hospedagem. Eu incluí algumas das constantes não usadas, prefixadas:

define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
// define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'my-ftp-username');
define('FTP_PASS', 'my-ftp-password');
define('FTP_HOST', 'ftp.my-site.example.com');
// define('FTP_SSL', false);
    
por artlung 11.08.2010 / 22:23
fonte
12

Verifique a propriedade do seu arquivo. Quando o usuário que o apache executa pode gravar nos diretórios do wordpress, o processo de atualização integrado simplesmente funciona sem o ftp. As credenciais de FTP são para se o servidor web não tiver os privilégios certos em seus arquivos, então o wordpress solicita seus detalhes de FTP, e tenta usá-los para o FTP de volta para o mesmo servidor que está em para poder gravar o arquivos necessários.

    
por pixeline 11.08.2010 / 22:45
fonte
5

Parece que o WordPress não apenas verifica se os diretórios são graváveis, mas verifica se o usuário do Apache OWNS os diretórios (ou pelo menos, se o usuário do Apache possuir o arquivo temporário criado) . Observe estas linhas de código em /wp-admin/includes/file.php: get_filesystem_method ():

if ( $temp_handle ) {
    if ( getmyuid() == @fileowner($temp_file_name) )
        $method = 'direct';
    @fclose($temp_handle);
    @unlink($temp_file_name);
}

Portanto, uma solução rápida será a de emitir este comando e dar a propriedade de toda a instalação do Wordpress ao Apache:

sudo chown -R www-data wordpress/

Onde o www-data é o usuário do Apache e, é claro, o wordpress é sua pasta de instalação do WordPress.

Documentamos ainda mais minha solução aqui: enlace

    
por Ardee Aram 11.11.2012 / 07:49
fonte
1

Ao ajustar o Apache 2.4 através do EasyApache4 para melhorar a velocidade de carregamento do site em um servidor Centos 7 PHP 7, eu tinha habilitado o mod_pagespeed. Ao ativá-lo, ele desativa automaticamente o mod_ruid2 e o mod_cgi (e habilita outros dois módulos). Ao desabilitar o mod_pagespeed, ele não irá reativar o mod_ruid2 automaticamente - ele reativará apenas o mod_cgi. Sem mod_ruid2 o Wordpress solicitará as credenciais de FTP.

Não há necessidade de codificar wp-config.php ou definir permissões de arquivo (perigosamente) para 777. Apenas habilite mod_ruid2 manualmente, reinicie o Apache e o problema de permissão de FTP / arquivo foi solucionado. Wordpress e plugins agora podem ser atualizados como de costume e mídia carregada para a galeria do Wordpress. Funciona imediatamente.

Acabei de verificar que, ao mudar do MPM Prefork para o Worker, ele desativará o mod_ruid2. Ao reverter de Worker para Prefork, ele não ativará mod_ruid2, causando o problema descrito nesta postagem.

Em ambos os casos, a chave é verificar e ativar o mod_ruid2.

Espero ter ajudado.

    
por itmonitor 01.08.2017 / 18:45
fonte
-1

1) Eu não pude concordar com a resposta acima por ser muito genérico

1a) Eu só não quero mudar a propriedade de todos os meus arquivos de forma recursiva (como usar uma espingarda para matar um musquito). Especialmente porque isso funciona perfeitamente antes.

1b) Wordpress tendo o recurso "sorrateiro" de repente pedir-lhe credenciais para ftp

2) Então eu comecei a cavar mais fundo usando a liderança de Ardee Aram. Eu fui verificar o arquivo file.php e verifiquei a sua propriedade. Parece que o arquivo.php é dependente de sua própria propriedade (que foi incorretamente definida como root).

Corrigir: chown www file.php

OBSERVAÇÃO: substitua www com qualquer que seja sua distribuição ou configurações (você pode usar ps aux | egrep "php | http" e ver qual é a propriedade dele na primeira coluna.

Espero que isso ajude alguém a ficar frustrado com isso. Eu nem entendo porque o wordpress não "reclama" em primeiro lugar e, em seguida, propõe a utilização da alternativa de FTP. Agora é como um "recurso" que, de repente, é introduzido.

    
por th3penguinwhisperer 10.05.2016 / 22:33
fonte