Giriş
PDO_MYSQL, PHP Veri Nesneleri Arayüzünün
(PDO) MySQL veritabanlarına erişimini mümkün
kılmak için gerçeklenmiş bir sürücüdür.
PDO_MYSQL eklentisi, öntanımlı olarak öykünülmüş hazır deyimleri kullanır.
MySQL 8
7.1.16'dan önceki bir PHP sürümünü veya 7.2.4'ten önceki PHP 7.2'yi
çalıştırırken, MySQL 8 Sunucusunun öntanımlı parola eklentisini
mysql_native_password olarak ayarlayın, aksi
takdirde, caching_sha2_password kullanılmadığında
bile "sunucu tarafından istenen [caching_sha2_password] kimlik doğrulama
yöntemini istemci bilmiyor" anlamında The server requested
authentication method unknown to the client
[caching_sha2_password] gibi hatalar görürsünüz.
Bunun nedeni MySQL 8'in öntanımlı olarak eski PHP (mysqlnd) sürümleri
tarafından tanınmayan bir eklenti olan
caching_sha2_password'e ayarlanmasıdır.
my.cnf'de
default_authentication_plugin=mysql_native_password
ayarını yaparak bunu değiştirin.
caching_sha2_password eklentisi PHP 7.4.4 itibariyle
desteklenmektetir. PHP 7.4.4 öncesinde, bunu
destekleyen mysql_xdevapi
eklentisi kullanılabilir.
Uyarı
Dikkat: Bazı MySQL tablo türleri (saklama motorları) toplu hareketleri
desteklemez. Bir veritabanını kodlarken toplu hareketleri desteklemeyen
bir tablo türünü kullanıyorsanız MySQL toplu hareketi başarıyla
ilklendirmiş gibi yapar. Ayrıca, DDL sorguları, bekleyen toplu
hareketlerin örtük olarak yerine getirilmesine de sebep olur.
Bilginize:
MySQL sürücüsü PDO::PARAM_INPUT_OUTPUT
sabitini
PDOStatement::bindParam() üzerinden düzgünce
desteklemez; böyle bağımsız değişkenler kullanılabilirse de,
bunlar güncellenmez (yani, mevcut çıktı yoksayılır).
Kurulum
The common Unix distributions include binary versions of PHP that can
be installed. Although these binary versions are typically built with
support for the MySQL extensions, the extension libraries
themselves may need to be installed using an additional package. Check
the package manager that comes with your chosen distribution for
availability.
For example, on Ubuntu the php5-mysql
package installs
the ext/mysql, ext/mysqli, and PDO_MYSQL PHP extensions. On CentOS,
the php-mysql
package also installs these three
PHP extensions.
Alternatively, you can compile this extension yourself. Building PHP from
source allows you to specify the MySQL extensions you want to use, as well
as your choice of client library for each extension.
When compiling, use --with-pdo-mysql[=DIR] to install
the PDO MySQL extension, where the optional [=DIR]
is the MySQL base library. Mysqlnd
is the default library. For details about choosing a library, see
Choosing a MySQL library.
Optionally, the --with-mysql-sock[=DIR] sets to location
to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If
unspecified, the default locations are searched.
Optionally, the --with-zlib-dir[=DIR] is used to set
the path to the libz install prefix.
$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
SSL support is enabled using the appropriate PDO_MySQL constants,
which is equivalent to calling the » MySQL C API function mysql_ssl_set().
Also, SSL cannot be enabled with PDO::setAttribute because the connection
already exists. See also the MySQL documentation about » connecting to
MySQL with SSL.
Çalışma Anı Yapılandırması
Bu işlevlerin davranışı php.ini
içindeki ayarlardan etkilenir.
INI_* kiplerinin tanımları ve ayrıntılı
açıklamaları
Yapılandırma ayarlarının yeri bölümünde bulunabilir.
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
-
pdo_mysql.default_socket
string
-
Sets a Unix domain socket. This value can either be set at compile time if
a domain socket is found at configure. This ini setting is Unix only.
-
pdo_mysql.debug
bool
-
Enables debugging for PDO_MYSQL. This setting is only available when PDO_MYSQL is
compiled against mysqlnd and in PDO debug mode.