Patrząc na problemy z jakimi ostatnio borykają się niektórzy użytkownicy IP.Board postanowiłem napisać ten tutorialek

Mianowicie chodzi o problem z połączeniem do bazy danych na innym porcie niż standardowy. Problemy takie możemy zaobserwować np. na serwerach nazwa.pl na nowej wersji bazy MySQL 5 dostępnej na porcie 3305. Przejdźmy zatem od razu do czynów:

Otwórz plik: /conf_global.php

Znajdź:

[php]$INFO[‚sql_host’] = ‚serwer_bazy_danych’; [/php]

dodaj poniżej:

[php]$INFO[‚sql_port’] = ‚port_na_jakim_dziala_baza’;[/php]

Zapisz zmiany i wgraj plik.

Otwórz: /sources/ipsclass.php

Znajdź:

[php]# Debug log – Don’t use this on a production board!

$this->DB->obj[‚debug_log’] = ROOT_PATH . ‚cache/sql_debug_log_’.date(‚m_d_y’).’.cgi’;
$this->DB->obj[‚use_debug_log’] = 0; [/php]

Dodaj poniżej:

[php]if( !empty( $this->vars[‚sql_port’] ) )
{
if ( extension_loaded(‚mysqli’) AND ! defined( ‚FORCE_MYSQL_ONLY’ ) )
{
$this->DB->obj[‚sql_port’] = $this->vars[‚sql_port’];
}
else
{
$this->DB->obj[‚sql_host’] = "{$this->DB->obj[‚sql_host’]}:{$this->vars[‚sql_port’]}";
}
} [/php]

Zapisz zmiany i wgraj plik.

Otwórz plik: /ips_kernel/class_db_mysql_client.php

Znajdź:

[php]$this->connection_id = @mysql_pconnect( $this->obj[‚sql_host’] ,
$this->obj[‚sql_user’] ,
$this->obj[‚sql_pass’] ,
$this->obj[‚force_new_connection’]
); [/php]

Zamień na:

[php]if( !empty($this->obj[‚sql_port’] ) )
{
$this->connection_id = @mysql_pconnect( $this->obj[‚sql_host’] .’:’ .$this->obj[‚sql_port’] ,
$this->obj[‚sql_user’] ,
$this->obj[‚sql_pass’] ,
$this->obj[‚force_new_connection’]
);
}
else
{
$this->connection_id = @mysql_pconnect( $this->obj[‚sql_host’] ,
$this->obj[‚sql_user’] ,
$this->obj[‚sql_pass’] ,
$this->obj[‚force_new_connection’]
);
} [/php]

Zapisz zmiany i wgraj plik.

To już wszystkie zmiany. Od teraz wszystko już będzie działać tak jak należy :-)

Write A Comment

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.