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