Uso de constante indefinida FS_CHMOD_DIR – assumido ‘FS_CHMOD_DIR’

Estou vendo um erro ao tentar mudar as colors de um tema:

Notice: Use of undefined constant FS_CHMOD_DIR - assumed 'FS_CHMOD_DIR' in /var/www/vhosts/xxx/wp-content/themes/consulting/inc/print_styles.php on line 141 

O criador do tema me deu os seguintes conselhos, mas não pode fornecer mais detalhes:

Entre em contato com a equipe do provedor de hospedagem e peça para ativar (configurar) a extensão PHP FILE em seu site. Isso resolverá o problema.

Eu administrai meu servidor, mas também entrei em contato com o meu provedor de hospedagem, e nenhum de nós pode descobrir o que precisa ser feito.

O mais próximo que podemos encontrar no PHP FILE é a extensão fileinfo, que já está instalada:

 [root]# php -m | grep file fileinfo 

Alguém pode lançar alguma luz sobre isso?

Solutions Collecting From Web of "Uso de constante indefinida FS_CHMOD_DIR – assumido ‘FS_CHMOD_DIR’"

É bastante simples. O autor do tema está usando uma constante que você pode wp-config.php no wp-config.php , mas porque você não usa essa constante e o autor nunca verifica se está realmente definido, o código lança um aviso PHP

https://codex.wordpress.org/Editing_wp-config.php#Override_of_default_file_permissions

Substituir as permissions de arquivo padrão

As instruções de definição FS_CHMOD_DIR e FS_CHMOD_FILE permitem replace as permissions de arquivo padrão. Essas duas variables ​​foram desenvolvidas em resposta ao problema da function de atualização do núcleo falhando com hosts executados em suexec. Se um host usa permissions de arquivo restritivas (por exemplo, 400) para todos os arquivos do usuário e recusa acessar arquivos que tenham configurações de grupo ou mundo definidas, essas definições podem resolver o problema. Observe que o ‘0755’ é um valor octal. Os valores octais devem ser prefixados com 0 e não são delimitados com aspas simples (‘). Consulte também: Alterando permissions de arquivo

Perguntas frequentes

Então, quem é culpado?

O autor do tema não verifica se uma constante é definida antes de usá-la. Eu nunca precisei dessa constante e eu trabalhei em muitos sites, e dos sons dele também não.

O cheque é uma coisa fácil de fazer:

 $chmod_dir = ( 0755 & ~ umask() ); if ( defined( 'FS_CHMOD_DIR' ) ) { $chmod_dir = FS_CHMOD_DIR; } 

Você usa uma variável, dê uma variável padrão, depois atribua a constante a ela se ela existir.

E quanto a esta extensão do arquivo PHP?

É BS, um arenque vermelho, acho que você já foi apagado, ou o desenvolvedor adivinhou, provavelmente o último. A constante é uma constante de WordPress, e você nunca deve confiar em todas as constantes sendo definidas (elas são principalmente opcionais, afinal)

É tudo isso acima do quadro?

Por que seu tema precisaria dos arquivos e das pastas de Chmod? Tudo isso parece muito suspeito, os temas não devem estar escrevendo no disco, especialmente no frontend. É assim que os sites não conseguem escalar ou diminuir a velocidade.

Gostaria de espreitar o tema, soa do nome do arquivo, como o tema é gerar arquivos e salvá-los em uma subpasta, um enorme não, depois de tudo há um conjunto de APIs para escrever na pasta de carregamentos e você pode gerar e retornar um arquivo CSS em cache via PHP e rewrite regras (também há consequências de segurança se você tiver uma pasta de tema gravável)