From baa04e4204b80225c5086611f305a0c412dc9967 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 23 Sep 2018 14:55:34 +0200 Subject: [PATCH] php: set mysql socket path if mysql[i] or pdo_mysql support is enabled PHP tries to discover the mysql default socket path during configure phase by probing the file system: https://github.com/php/php-src/blob/cf3b852109a88a11370d0207cd3b72a53b6a64c3/ext/mysqli/config.m4#L4 This obviously fails to discover /run/mysqld/mysqld.sock, which is being used (hardcoded) across all MySQL flavours. This leads to PHP having no mysql socket path set for the mysql[i] extensions, and `/tmp/mysql.sock` set for pdo_mysql, meaning one currently has to manually configure and set it in php.ini. Luckily, PHP supports setting that path via `--with-mysql-sock=/run/mysqld/mysqld.sock` during configure phase, so let's do this as soon as one of the three modules is enabled. --- pkgs/development/interpreters/php/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index adffe647c36..9fa3b96fd34 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -136,6 +136,7 @@ let ++ optionals mysqliSupport [ "--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}" ] + ++ optional ( pdo_mysqlSupport || mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock" ++ optional bcmathSupport "--enable-bcmath" # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. ++ optionals gdSupport [