Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Por defeito, erros e avisos gerados pelos Microsoft Drivers para PHP para SQL Server não são registados no registo do sistema PHP. Este tópico discute como configurar a atividade de registo dos drivers. Para mais informações sobre como configurar definições de tratamento de erros PHP que não sejam específicas dos drivers, consulte a documentação PHP.
Registo de Atividade Usando o Driver PDO_SQLSRV
A única configuração de registo disponível específica para o driver de PDO_SQLSRV é a entrada de pdo_sqlsrv.log_severity no ficheiro php.ini.
Adicione o seguinte no final do seu ficheiro de php.ini:
[pdo_sqlsrv]
pdo_sqlsrv.log_severity = <number>
log_severity pode ser um dos seguintes valores:
| Valor | Description |
|---|---|
| 0 | O registo está desativado (é o padrão se nada estiver definido). |
| -1 | Especifica que erros, avisos e notificações são registados. |
| 1 | Especifica que os erros são registados. |
| 2 | Especifica que os avisos são registados. |
| 4 | Especifica que os avisos são registados. |
A informação de registo é adicionada ao ficheiro phperrors.log.
O PHP lê o ficheiro de configuração na inicialização e armazena os dados numa cache; também fornece uma API para atualizar estas definições e usar imediatamente, sendo escrita no ficheiro de configuração. Esta API permite que scripts de aplicação alterem as definições mesmo após a inicialização do PHP.
Registo de Atividade Usando o Controlador SQLSRV
Para ativar o registo, pode usar a função sqlsrv_configure ou alterar o ficheiro php.ini. Podes registar atividade em inicializações, ligações, instruções ou funções de erro. Também pode especificar se pretende registar erros, avisos, notificações ou os três.
Observação
Podes configurar a localização do ficheiro de registo no ficheiro php.ini. Consulte a documentação PHP para mais detalhes.
Ativar o Registo
Pode ativar o registo usando a função sqlsrv_configure para especificar um valor para a definição LogSubsystems . Por exemplo, a seguinte linha de código configura o driver para registar a atividade nas ligações:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);
A tabela seguinte descreve as constantes que podem ser usadas como valor para a definição LogSubsystems :
| Valor (equivalente inteiro entre parênteses) | Description |
|---|---|
| SQLSRV_LOG_SYSTEM_ALL (-1) | Ativa o registo de todos os subsistemas. |
| SQLSRV_LOG_SYSTEM_OFF (0) | Desativa o registo de atividades. Este é o padrão. |
| SQLSRV_LOG_SYSTEM_INIT (1) | Ativa o registo da atividade de inicialização. |
| SQLSRV_LOG_SYSTEM_CONN (2) | Ativa o registo da atividade de ligação. |
| SQLSRV_LOG_SYSTEM_STMT (4) | Ativa o registo da atividade das instruções SQL. |
| SQLSRV_LOG_SYSTEM_UTIL (8) | Ativa o registo da atividade das funções de erro (como handle_error e handle_warning). |
Pode definir mais do que um valor ao mesmo tempo para a definição LogSubsystems usando o operador lógico OR (|). Por exemplo, a seguinte linha de código ativa o registo da atividade tanto nas ligações como nas instruções:
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);
Também pode ativar o registo especificando um valor inteiro para a definição LogSubsystems no ficheiro php.ini. Por exemplo, adicionar a seguinte linha à [sqlsrv] secção do ficheiro de php.ini ativa o registo da atividade de ligação:
sqlsrv.LogSubsystems = 2
Ao somar valores inteiros, pode especificar mais do que uma opção ao mesmo tempo. Por exemplo, adicionar a seguinte linha à [sqlsrv] secção do ficheiro php.ini ativa o registo da atividade de ligação e de instruções:
sqlsrv.LogSubsystems = 6
Erros de registo, avisos e notificações
Depois de ativar o login, deve especificar o que deve registar. Pode registar um ou mais dos seguintes: erros, avisos e notificações. Por exemplo, a seguinte linha de código especifica que apenas os avisos são registados:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);
Observação
A definição padrão do LogSeverity é SQLSRV_LOG_SEVERITY_ERROR. Se o registo estiver ativado e não for especificada a definição de Gravidade do Log , apenas os erros são registados.
A tabela seguinte descreve as constantes que podem ser usadas como valor para a definição LogSeverity :
| Valor (equivalente inteiro entre parênteses) | Description |
|---|---|
| SQLSRV_LOG_SEVERITY_ALL (-1) | Especifica que erros, avisos e notificações são registados. |
| SQLSRV_LOG_SEVERITY_ERROR (1) | Especifica que os erros são registados. Este é o padrão. |
| SQLSRV_LOG_SEVERITY_WARNING (2) | Especifica que os avisos são registados. |
| SQLSRV_LOG_SEVERITY_NOTICE (4) | Especifica que os avisos são registados. |
Pode definir mais do que um valor ao mesmo tempo para a definição LogSeverity usando o operador lógico OR (|). Por exemplo, a seguinte linha de código especifica que erros e avisos devem ser registados:
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);
Observação
Especificar um valor para a definição LogSeverity não ativa o registo. Deve ativar o registo especificando um valor para a configuração LogSubsystems e, em seguida, definir um valor para LogSeverity para especificar a gravidade do que é registado.
Também pode especificar uma definição para a definição LogSeverity usando valores inteiros no ficheiro php.ini. Por exemplo, adicionar a linha seguinte à [sqlsrv] secção do ficheiro php.ini permite apenas o registo de avisos:
sqlsrv.LogSeverity = 2
Ao somar valores inteiros, pode especificar mais do que uma opção ao mesmo tempo. Por exemplo, adicionar a seguinte linha à [sqlsrv] secção do ficheiro php.ini permite o registo de erros e avisos:
sqlsrv.LogSeverity = 3
Ver também
Guia de Programação para os Microsoft Drivers for PHP para SQL Server
Constantes (Controladores da Microsoft para PHP para SQL Server)