openpne:installでportを指定する
OpenPNE3のインストールで行う、symfony openpne:install ではportの指定が分かりづらい。
指定の仕方は hostname の入力のところで
localhost;port=3306
と指定すると反映される。
そして hostname が localhost の時しか unix_socket が指定できないようなので、指定したい場合は更に
localhost;port=3306;unix_socket=/tmp/mysql.sock
とする必要がある。
指定できちゃうんで重要度は低いんですが、一応patchを作ってみました。
Index: lib/task/openpneInstallTask.class.php =================================================================== --- lib/task/openpneInstallTask.class.php (リビジョン 10734) +++ lib/task/openpneInstallTask.class.php (作業コピー) @@ -41,6 +41,8 @@ !($hostname = $this->ask('Type database hostname')) ); + $port = $this->ask('Type database port number (optional)'); + while ( !($dbname = $this->ask('Type database name')) ); $sock = ''; - if ($dbms == 'mysql' && $hostname == 'localhost') { + if ($dbms == 'mysql' && ($hostname == 'localhost' || $hostname == '127.0.0.1')) { $sock = $this->ask('Type database socket path (optional)'); } @@ -57,26 +59,27 @@ } $this->log($this->formatList(array( - 'The DBMS ' => $dbms, - 'The Database Username' => $username, - 'The Database Password' => $maskedPassword, - 'The Database Hostname' => $hostname, - 'The Database Name ' => $dbname, - 'The Database Socket ' => $sock, + 'The DBMS ' => $dbms, + 'The Database Username ' => $username, + 'The Database Password ' => $maskedPassword, + 'The Database Hostname ' => $hostname, + 'The Database Port number ' => $port, + 'The Database Name ' => $dbname, + 'The Database Socket ' => $sock, ))); if ($this->askConfirmation('Is it OK to start this task? (y/n)')) { @$this->fixPerms(); @$this->clearCache(); - $this->configureDatabase($dbms, $username, $password, $hostname, $dbname, $sock); + $this->configureDatabase($dbms, $username, $password, $hostname, $port, $dbname, $sock); $this->buildDb(); $this->publishAssets(); $this->clearCache(); } } - protected function createDSN($dbms, $hostname, $dbname, $sock) + protected function createDSN($dbms, $hostname, $port, $dbname, $sock) { $result = $dbms.':'; @@ -92,6 +95,11 @@ $data[] = 'hostname='.$hostname; } + if ($port) + { + $data[] = 'port='.$port; + } + if ($sock) { $data[] = 'unix_socket='.$sock; @@ -101,9 +109,9 @@ return $result; } - protected function configureDatabase($dbms, $username, $password, $hostname, $dbname, $sock) + protected function configureDatabase($dbms, $username, $password, $hostname, $port, $dbname, $sock) { - $dsn = $this->createDSN($dbms, $hostname, $dbname, $sock); + $dsn = $this->createDSN($dbms, $hostname, $port, $dbname, $sock); $file = sfConfig::get('sf_config_dir').'/databases.yml'; $config = array('dev' => array('propel' => array('param' => array(
3.0.2にて取り込んでいただけることになりました。OpenPNE - Trac