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

Reply via email to