Помощь Перенос сайта на хостинг

Статус
В этой теме нельзя размещать новые ответы.

Grisha

♙ ▁ ▂ ▃ ▅ ▆ █ ♚
Регистрация
30 Сен 2012
Сообщения
192
Реакции
286
Здравствуйте! Я долго выбирал в какой же раздел попроситься помочь, но ни в ветке PHP, ни в ветке про хостинг нет раздела помощи, а так как у меня сайт на Joomla, решил сюда темку создать, надеюсь правильно. Саппорт хостинга при всем своем старании помочь мне не может, а я профан и в php, и в joomla(

Ситуация такая - заливаю сайт на valuehost. Файл configuration.php делаю как написано у них тут - Для просмотра ссылки Войди или Зарегистрируйся

В итоге у меня получается (все остальные настройки из conf выкинул пока)

Код:
<?php
class JConfig {
public $dbname='имя юзера БД';
public $dbhost='db*.valuehost.ru';
public $dblogin='мой лог';
public $dbpass='мой пасс';
public $db = mysql_connect($dbhost, $dblogin, $dbpass);
mysql_select_db($dbname, $db);
public $dbh = mysql_connect($db_server,$db_login,$db_pass);
if(!$dbh)
    die('Не могу подключиться к серверу баз данных');
 
mysql_select_db($db_name,$dbh) || die('Не могу выбрать базу данных: '.mysql_error($dbh));
public $query = 'SELECT VERSION()';
public $result = mysq_query($query) || die('Не могу выполнить запрос ('.$query.'): '.mysql_error($dbh));
echo 'Версия сервера MySQL: '.reset(mysql_fetch_row($result));
mysql_close($dbh);
}
?>

При попытке попасть на сайт выдает:

Parse error: syntax error, unexpected '(', expecting ',' or ';' in /pub/home/direktoriya/htdocs/configuration.php on line 7

line 7 - это public $db = mysql_connect($dbhost, $dblogin, $dbpass);

Никак не могу понять что делать - пишу в поддержку, мне сбрасывают такой код:

Код:
<?php
$dbname='имя БД';
$dbhost='db*.valuehost.ru'
$dbport='3306';
$dblogin='мой лог';
$dbpass='мой пасс';
$db = mysql_connect($dbhost, $dblogin, $dbpass);
mysql_select_db($dbname, $db);
?>



Если я его вставляю как есть (без "class JConfig" и "public") то он логично ругается мне при попытке открыть сайт:

Fatal error: Class 'JConfig' not found in /pub/home/direktoriya/htdocs/includes/framework.php on line 56

Если вставляю вот так:

Код:
<?php
class JConfig {
public $dbname='имя БД';
public $dbhost='db*.valuehost.ru';
public $dbport='3306';
public $dblogin='мой лог';
public $dbpass='мой пасс';
public $db = mysql_connect($dbhost, $dblogin, $dbpass);
mysql_select_db($dbname, $db);
}
?>

То снова ругается

Parse error: syntax error, unexpected '(', expecting ',' or ';' in/pub/home/direktoriya/htdocs/configuration.php on line 8

на строку public $db = mysql_connect($dbhost, $dblogin, $dbpass);


Может кто-нибудь догадывается в чем причина, как поправить? Буду очень признателен за помощь!
 
Grisha, не надо ихние мануалы смотреть.
Оставьте оригинальный configuration.php со старого сайта, и поменяйте в нем: хост для БД, имя пользователя, пароль и название БД. все!
Если не подключится, значит проблема в правильности данных.
Потом уже поменяете две переменных: путь к tmp и log
 
Grisha, не надо ихние мануалы смотреть.
Оставьте оригинальный configuration.php со старого сайта, и поменяйте в нем: хост для БД, имя пользователя, пароль и название БД. все!

Вот что значит - надо ко всякому делу подходить спокойно, без нервов. Я вчера бился над этой проблемой с 14:00 до 22:00 и ничего не получалось. При этом, я с самого начала и сделал, так как Вы мне посоветовали - то есть заменил все данные по БД - не нашлась база. Видимо, я что-то не так прописал и полез рыться в их мануалах и бодаться с поддержкой. А ларчик так просто открывался блин... надо было просто повнимательней перепроверить все вписанные данные. Повторил вот щас - сайт заработал! Эх... целый день выброшен вчерашний. А Вам спасибо!)


Думаю, ему не нравится как раз-таки следующая строка: mysql_select_db($dbname, $db);

Попробуйте ее прописать после закрытой фигурной скобки. Или вообще убрать.

Ради интереса попробовал - не находит БД.


Какая у вас версия joomla. В моей 1.5 конфигурационный файл выглядит иначе.

У меня 2.5 J! и файл у меня тоже иначе выглядит, я просто привел только кусок где данные для подключения к БД!
 
Код, выложенный в первом посте, нарушает принципы синтаксиса php, правильнее было бы писать что-то типа:
PHP:
class JConfig {
	public $dbname='имя БД';
	public $dbhost='db*.valuehost.ru';
	public $dbport='3306';
	public $dblogin='мой лог';
	public $dbpass='мой пасс';
	public $db;
	function __construct(){ //требуется php 5+, будет автоматически вызвана при инициализации класса
		$this->db = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
		mysql_select_db($this->dbname, $this->db);
		// и т.д.
	}
}
Свойствам класса должны присваиваться константные значения, нельзя присваивать результат выполнения функции - для такого есть методы класса.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху