Internet Diversos

Strict Standards: Only Variables Should Be Assigned By Reference

Strict Standards: Only Variables Should Be Assigned By Reference. Em nossa conexão, este erro foi causado pelo símbolo & Comercial, quando passamos a utilizar o PHP 6.
Depois de atualizar meus servidores para o Apache 2.4, com PHP 6 e MySql 5.6 os erros do código obsoleto do PHP anterior foram surgindo.

No caso da conexão com o banco de dados que utilizámos

$connect = &$conn->Execute('SELECT MAX(catid) FROM `categori`');
  • Em nosso caso bastou remover o símbolo de & que estava antes da conexão, $conn e resolveu o problema.
  • Se você está passando por este mesmo erro tente fazer isso em todas as páginas que você tem este tipo de conexão com MySql.

Seu código para consertar o Strict Standards deve ficar parecido com este:

$connect = $conn->Execute('SELECT MAX(catid) FROM `categori`');

Sem o & comercial.

Salve o arquivo e faça teste antes de modificar os outros arquivos.

Por que você está recebendo a mensagem de padrões estritos
Avisos estritos são enviados pelo PHP quando certos recursos antigos são usados ​​ou algum código não adere aos padrões estritos do php. Em geral, esses erros são úteis apenas no desenvolvimento e podem ser ignorados na produção.

No PHP 5.4, o E_STRICT tipo de erro Strict Standards foi definido como saída por padrão. Como as versões legadas do concrete5 fazem uso de alguns recursos obsoletos e podem gerar avisos estritos, essa mudança fez com que as versões do concrete5 que não são compatíveis com PHP 5.4 mostrassem muitos avisos do php.

Como remover a mensagem de erro de padrões estritos

A maneira recomendada de resolver esse problema é modificar os arquivos de origem para desativar a saída de avisos E_STRICTou de E_DEPRECATED. O código que usamos para fazer isso é:

// Shim to hide errors!
error_reporting(error_reporting() & ~E_STRICT & ~E_DEPRECATED);

Abra index.php e adicione o código ao topo para corrigir Strict Standards.

Deve ser assim:

<?php
// Shim to hide errors!
error_reporting(error_reporting() & ~E_STRICT & ~E_DEPRECATED);

require_once('concrete/dispatcher.php');

Você deseja desativar o relatório de erros ou apenas impedir que o usuário os veja? Normalmente, é uma boa ideia registrar os erros, mesmo em um site de produção.

# in your PHP code:
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them

Eles serão registrados em seu log de sistema padrão ou usarão a error_logdiretive para especificar exatamente para onde você deseja que os erros Strict Standards ocorram. Contrate o melhor VPS pelo menor preço!

Editor iCloud

A edição do site icloud.com.br é feita pelo administrador do site. Criamos conteúdo para levar conhecimento aos nossos leitores.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Back to top button