sterling Sat May 31 22:29:28 2003 EDT Modified files: /php4/ext/mysql php_mysql.c Log: don't do this on startup, lazy initialize it. This takes up > 17% of load time in CGI mode Index: php4/ext/mysql/php_mysql.c diff -u php4/ext/mysql/php_mysql.c:1.191 php4/ext/mysql/php_mysql.c:1.192 --- php4/ext/mysql/php_mysql.c:1.191 Fri May 30 10:08:14 2003 +++ php4/ext/mysql/php_mysql.c Sat May 31 22:29:28 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mysql.c,v 1.191 2003/05/30 14:08:14 iliaa Exp $ */ +/* $Id: php_mysql.c,v 1.192 2003/06/01 02:29:28 sterling Exp $ */ /* TODO: * @@ -283,24 +283,12 @@ */ static PHP_INI_MH(OnMySQLPort) { - if (new_value==NULL) { /* default port */ -#if !defined(PHP_WIN32) && !defined(NETWARE) - struct servent *serv_ptr; - char *env; - - MySG(default_port) = MYSQL_PORT; - if ((serv_ptr = getservbyname("mysql", "tcp"))) { - MySG(default_port) = (uint) ntohs((ushort) serv_ptr->s_port); - } - if ((env = getenv("MYSQL_TCP_PORT"))) { - MySG(default_port) = (uint) atoi(env); - } -#else - MySG(default_port) = MYSQL_PORT; -#endif - } else { + if (new_value != NULL) { /* default port */ MySG(default_port) = atoi(new_value); + } else { + MySG(default_port) = -1; } + return SUCCESS; } /* }}} */ @@ -348,7 +336,7 @@ le_link = zend_register_list_destructors_ex(_close_mysql_link, NULL, "mysql link", module_number); le_plink = zend_register_list_destructors_ex(NULL, _close_mysql_plink, "mysql link persistent", module_number); Z_TYPE(mysql_module_entry) = type; - + REGISTER_LONG_CONSTANT("MYSQL_ASSOC", MYSQL_ASSOC, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQL_NUM", MYSQL_NUM, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQL_BOTH", MYSQL_BOTH, CONST_CS | CONST_PERSISTENT); @@ -476,6 +464,23 @@ socket = MySG(default_socket); + if (MySG(default_port) < 0) { +#if !defined(PHP_WIN32) && !defined(NETWARE) + struct servent *serv_ptr; + char *env; + + MySG(default_port) = MYSQL_PORT; + if ((serv_ptr = getservbyname("mysql", "tcp"))) { + MySG(default_port) = (uint) ntohs((ushort) serv_ptr->s_port); + } + if ((env = getenv("MYSQL_TCP_PORT"))) { + MySG(default_port) = (uint) atoi(env); + } +#else + MySG(default_port) = MYSQL_PORT; +#endif + } + if (PG(sql_safe_mode)) { if (ZEND_NUM_ARGS()>0) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "SQL safe mode in effect - ignoring host/user/password information");
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php