Aracılığıyla paylaş


Kayıt Etkinliği

PHP sürücüsünü indirme

Varsayılan olarak, SQL Server için PHP için Microsoft Sürücüleri tarafından oluşturulan hatalar ve uyarılar PHP sistem günlüğüne kaydedilmez. Bu konuda, sürücü günlüğü etkinliğinin nasıl yapılandırılacağı açıklanır. Sürücülere özgü olmayan PHP hata işleme ayarlarını yapılandırma hakkında daha fazla bilgi için PHP belgelerine bakın.

PDO_SQLSRV Sürücüsünü Kullanarak Etkinliği Günlüğe Kaydetme

PDO_SQLSRV sürücüsüne özgü tek kullanılabilir log yapılandırması, php.ini dosyasındaki pdo_sqlsrv.log_severity girdisidir.

php.ini dosyanızın sonuna aşağıdakileri ekleyin:

[pdo_sqlsrv]  
pdo_sqlsrv.log_severity = <number>  

log_severity aşağıdaki değerlerden biri olabilir:

Değer Description
0 Günlüğe kaydetme devre dışıdır (hiçbir şey tanımlanmadıysa varsayılan değerdir).
-1 Hataların, uyarıların ve bildirimlerin günlüğe kaydedildiğini belirtir.
1 Hataların günlüğe kaydedildiğini belirtir.
2 Uyarıların günlüğe kaydedildiğini belirtir.
4 Bildirimlerin günlüğe kaydedildiğini belirtir.

phperrors.log dosyasına günlük bilgisi eklenir.

PHP başlatmayla ilgili yapılandırma dosyasını okur ve verileri bir önbellekte depolar; ayrıca bu ayarları güncelleştirmek ve hemen kullanmak için bir API sağlar ve yapılandırma dosyasına yazılır. Bu API, uygulama betiklerinin PHP başlatma işleminden sonra bile ayarları değiştirmesine olanak tanır.

SQLSRV Sürücüsünü Kullanarak Etkinliği Günlüğe Kaydetme

Günlüğü açmak için sqlsrv_configure işlevini kullanabilir veya php.ini dosyasını değiştirebilirsiniz. Başlatma süreçleri, bağlantılar, ifadeler veya hata işlevleri için etkinliği günlüğe kaydedebilirsiniz. Ayrıca hataların, uyarıların, bildirimlerin veya üçünü de günlüğe kaydedip kaydetmeyeceğini belirtebilirsiniz.

Uyarı

günlük dosyasının konumunu php.ini dosyasında yapılandırabilirsiniz. Daha fazla ayrıntı için PHP belgelerine bakın.

Loglamayı Açma

LogSubsystems ayarı için bir değer belirtmek amacıyla sqlsrv_configure işlevini kullanarak kaydı açabilirsiniz. Örneğin, aşağıda belirtildiği şekildeki kod satırı sürücüyü etkinliği loglamak için yapılandırıyor:

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);

Aşağıdaki tabloda LogSubsystems ayarı için değer olarak kullanılabilecek sabitler açıklanmaktadır:

Değer (parantez içinde tamsayı eşdeğeri) Description
SQLSRV_LOG_SYSTEM_ALL (-1) Tüm alt sistemlerin günlüğe kaydedilmesini etkinleştirir.
SQLSRV_LOG_SYSTEM_OFF (0) Log kaydını kapatır. Bu varsayılan seçenektir.
SQLSRV_LOG_SYSTEM_INIT (1) Başlatma etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_CONN (2) Bağlantı etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_STMT (4) Deyim etkinliğinin günlüğe kaydedilmesini açar.
SQLSRV_LOG_SYSTEM_UTIL (8) Hata işlevleri etkinliğinin (handle_error ve handle_warning gibi) günlüğe kaydedilmesini açar.

Mantıksal OR işlecini (|) kullanarak LogSubsystems ayarı için aynı anda birden fazla değer ayarlayabilirsiniz. Örneğin, aşağıdaki kod satırı hem bağlantılardaki hem de ifadelerdeki etkinliğin günlüğe kaydedilmesini etkinleştirir.

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

php.ini dosyasında LogSubsystems ayarı için bir tamsayı değeri belirterek de günlüğü açabilirsiniz. Örneğin, php.ini dosyasının [sqlsrv] bölümüne aşağıdaki satırın eklenmesi bağlantı etkinliğinin günlüğe kaydedilmesini açar:

sqlsrv.LogSubsystems = 2

Birlikte tamsayı değerleri ekleyerek, aynı anda birden fazla seçenek belirtebilirsiniz. Örneğin, php.ini dosyasının [sqlsrv] bölümüne aşağıdaki satırın eklenmesi, bağlantı ve sorgu etkinliğinin kaydedilmesini sağlar.

sqlsrv.LogSubsystems = 6

Kayıt Hataları, Uyarılar ve Bildirimler

Günlüğe kaydetmeyi açtıktan sonra nelerin günlüğe kaydedileceğini belirtmeniz gerekir. Aşağıdakilerden birini veya daha fazlasını günlüğe kaydedebilirsiniz: hatalar, uyarılar ve bildirimler. Örneğin, aşağıdaki kod satırı yalnızca uyarıların günlüğe kaydedildiğini belirtir:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

Uyarı

LogSeverity için varsayılan ayar SQLSRV_LOG_SEVERITY_ERROR. Günlük açıksa ve LogSeverity ayarı belirtilmemişse, yalnızca hatalar günlüğe kaydedilir.

Aşağıdaki tabloda LogSeverity ayarı için değer olarak kullanılabilecek sabitler açıklanmaktadır:

Değer (parantez içinde tamsayı eşdeğeri) Description
SQLSRV_LOG_SEVERITY_ALL (-1) Hataların, uyarıların ve bildirimlerin günlüğe kaydedildiğini belirtir.
SQLSRV_LOG_SEVERITY_ERROR (1) Hataların günlüğe kaydedildiğini belirtir. Bu varsayılan seçenektir.
SQLSRV_LOG_SEVERITY_WARNING (2) Uyarıların günlüğe kaydedildiğini belirtir.
SQLSRV_LOG_SEVERITY_NOTICE (4) Bildirimlerin günlüğe kaydedildiğini belirtir.

Mantıksal OR işlecini (|) kullanarak LogSeverity ayarı için aynı anda birden fazla değer ayarlayabilirsiniz. Örneğin, aşağıdaki kod satırı hataların ve uyarıların günlüğe kaydedilmesi gerektiğini belirtir:

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

Uyarı

LogSeverity ayarı için bir değer belirtilmesi günlük kaydını başlatmaz. LogSubsystems ayarı için bir değer belirterek günlüğü açmanız ve ardından LogSeverity için bir değer ayarlayarak günlüğe kaydedilenlerin önem derecesini belirtmeniz gerekir.

php.ini dosyasındaki tamsayı değerlerini kullanarak LogSeverity ayarı için bir ayar da belirtebilirsiniz. Örneğin, php.ini dosyasının [sqlsrv] bölümüne aşağıdaki satırın eklenmesi yalnızca uyarıların günlüğe kaydedilmesini sağlar:

sqlsrv.LogSeverity = 2

Birlikte tamsayı değerleri ekleyerek, aynı anda birden fazla seçenek belirtebilirsiniz. Örneğin, php.ini dosyasının [sqlsrv] bölümüne aşağıdaki satırın eklenmesi hataların ve uyarıların günlüğe kaydedilmesini sağlar:

sqlsrv.LogSeverity = 3

Ayrıca Bkz.

SQL Server için PHP için Microsoft Sürücüleri Programlama Kılavuzu

Sabitler (SQL Server için PHP için Microsoft Sürücüleri)

sqlsrv_configure

sqlsrv_get_config

SQLSRV Sürücü API'si Başvurusu