Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

XAMPP, Apachee, виртуални дектории

Featured Replies

Здравейте! Имам един въпрос. Ползвам XAMPP и съм много доволен, обаче имам едно запитване за Apache-то. Примерно съм си закупил домейн asd.net и съм си създал поддомейни примерно news.asd.net и infо.asd.net и ме интересува как на Apache-то да окажа за кой домейн какво да зарежда.

За оправление на домейн ще ти трябва domain server. Как да пуснеш такъв нямам идея, затова ще ти дам линк към сайт, който предлага хостване на домайни безплатно: http://freedns.afraid.org/

След като се регистрираш в сайта си нагласяш DNS server-ите на домейна, от там от където си го купил, на тези на сайта. В него си ги пише. Изчакваш DNS-ите да се обновят и вече можеш да си администрираш домейна от сайта.

Съжалявам, че се отклонявам от темата, но искам да си направя компютъра сървър и за да мога да си хоствам сайтовете. Имам ХАМРР, но когато сложа нещо на компютъра с български букви и го отворя ми се получават йероглифи, пък и като пиша някакви скриптове на PHP и има текст на български пак се появяват йероглифи, как да го оправя? Искам да си купя само домаин, и аз да си хоствам сайта, но как да го направя вместо да пиша http://localhost/ или IP-to ми, да влизам в сайта, например http://ime.com (имаше преди време 1 статия, където пишеше как става, но сега немога да я открия). Може и да ми препоръчайте някой пакет с PHP, MySQL и Аpache, който според Вас е най-добрият, прочетох, че XAMPP не бил хубав защото нямал никакви защити, а AppServ бил по-хубав.

А защо просто не си инсталираш всичко по отделно вместо да ползваш готов пакет ?

А не е ли по-добре да си инсталирам някакъв пакет? Как да оправя и другите ми проблеми?

Има пакети, които са добри. Всъщност визирам само един Apache2Triad...

XAMPP някак си не ми хареса, докато този, който споменах е много добре оптимизиран и настроен...

По другия въпрос - за хостването:

Трябва да имаш реално и статично IP, което да свържеш с nameserver-те. Динамично IP не ти върши работа, защото при всяка смяна на IP-то, трябва да пренасочваш nameserver-те.

След това в httpd.conf променяш:

ServerName localhost:80
на:
ServerName твоят_домейн.com:80

Като пиша com, това е само за пример. В твоя случай - asd.net.

Поддомейните, които си създал на хоста си не можеш да ползваш.

На своя компютър трябва да ги зададеш като виртуални хостове на Apache-то.

Добре да караме под ред. Първо исках да си оправя кирилицата, търсих цял ден теми и прочетох, че трябва да направя това:

Трябва да променим следното:


AddCharset WINDOWS-1251 .cp-1251 .win-1251


на


AddCharset windows-1251 .cp-1251 .win-1251


Също така


AddDefaultCharset ISO-8859-1


на 


AddDefaultCharset windows-1251

Но в httpd.conf нямам такова нещо! Някой ще обясни ли по-подробно за виртуалните хостове. Аз нямам реално IP, но мисля да си купя няколко домейна и да ги хоствам от моя компютър.

AddDefaultCharset ISO-8859-1


на 


AddDefaultCharset windows-1251
Не го прави... Просто закоментирай реда:
AddDefaultCharset ISO-8859-1


на


#AddDefaultCharset ISO-8859-1

Така символите ще се определят автоматично.

И мисля, че в по-новите версии на Апаче тоя ред го няма.

Щом нямаш реално статично IP не можеш да хостваш.

Редактирано от idiabg (преглед на промените)

Вчера питах брат ми за IP-то, той ми каза, че може и да ми е реално. Аз имам 2 компа и съм ги вързал и съм с прокси сървър. На първия имам реално IP, но на този който мисля да го правя сървър не мие (поне като напиша в Command Promt ipconfig ми изписва, че ми е 192....). Как да наглася нещата, че да мога да хоствам от втория комп. Инсталирах си Apache2Triad 1.5.4 но незнам как да пусна Апачето? При ХАМРР си имаше контрол панел и беше лесно, но тук нз как да го подкарам.

Вчера питах брат ми за IP-то, той ми каза, че може и да ми е реално. Аз имам 2 компа и съм ги вързал и съм с прокси сървър. На първия имам реално IP, но на този който мисля да го правя сървър не мие (поне като напиша в Command Promt ipconfig ми изписва, че ми е 192....). Как да наглася нещата, че да мога да хоствам от втория комп. Инсталирах си Apache2Triad 1.5.4 но незнам как да пусна Апачето? При ХАМРР си имаше контрол панел и беше лесно, но тук нз как да го подкарам.

Tук също има контрол панел, а Apache се стартира със зареждането на Windows и в трея се появява Apache Monitor...

Ще ми обясниш ли на български как става, защото досега четох ама нищо немога да направя sad.gif

Ще ми обясниш ли на български как става, защото досега четох ама нищо немога да направя sad.gif

Потребителското име е: root

Паролата, тази която си въвел при инсталирането на Apache2Triad.

idiabg благодаря ти много. Имам и друг въпрос. Защо не мога да създам база данни?

<?php


$connect = mysql_connect("localhost", "root", "ribamech)

or die("Не може да се осъществи връзка, със сървъра!");


$createdb = mysql_create_db("$Mytestdb")

or die("Не може да се създаде базата данни!");


echo "Базата данни Mytestdb е създадена успешно.";


?>

Когато го пусна (http://localhost/a.php примерно) не ми показва нищо (трябва да ми изпише: Базата данни Mytestdb е създадена успешно.).

idiabg благодаря ти много. Имам и друг въпрос. Защо не мога да създам база данни?

<?php


$connect = mysql_connect("localhost", "root", "ribamech)

or die("Не може да се осъществи връзка, със сървъра!");


$createdb = mysql_create_db("$Mytestdb")

or die("Не може да се създаде базата данни!");


echo "Базата данни Mytestdb е създадена успешно.";


?>
Когато го пусна (http://localhost/a.php примерно) не ми показва нищо (трябва да ми изпише: Базата данни Mytestdb е създадена успешно.).
Има грешки в кода...
<?php

$connect = mysql_connect("localhost", "root", "ribamech")

or die("Не може да се осъществи връзка, със сървъра!");


if (mysql_create_db("Mytestdb")) {

echo "Базата данни Mytestdb е създадена успешно.";

} else {

echo "Не може да се създаде базата данни!";

}

?>

За съжаление все още ни ми излиза нищо на екрана, знаеш ли защо евентуално става така?

Добре че повдигна въпроса та да разбера, че в новите версии на PHP,

функцията mysql_create_db(), не се поддържа.

Използвай този код:

<?php

$connect = mysql_connect("localhost", "root", "ribamech");

if (!$connect) {

	die("Не може да се осъществи връзка, поради следната грешка: " . mysql_error());

}


$sql = "CREATE DATABASE my_test_db";

if (mysql_query($sql, $connect)) {

	echo "Базата данни my_test_db е създадена успешно.\n";

} else {

	echo "Не може да се създаде базата данни, поради следната грешка: " . mysql_error() . "\n";

}

?>

Това работи...

a функцията mysql_select_db() запазилали се е? Какви са другите новости?

А каква е грешката тук?

<?php

$connect = mysql_connect("localhost", "root", "ribamech");

if (!$connect) {

	die("Не може да се осъществи връзка, поради следната грешка: " . mysql_error());

}


$sql = "CREATE DATABASE Mailinglist";

if (mysql_query($sql, $connect)) {

	echo "Базата данни my_test_db е създадена успешно.\n";

} else {

	echo "Не може да се създаде базата данни, поради следната грешка: " . mysql_error() . "\n";

}

$selectdb = mysql_select_db("Mailinglist")

or die ("Неможе да се избере базата данни!");\


$sqlqyery = "CREATE TABLE Maildata {

			Name varchar (50) Not Null,

			Email varchar (50) Not Null Primary Key,

			Secondaryemail varchar(50) Not Null

			}";

$Name = "Светослав";

$Email = "[email protected]";

$Secondaryemail = "[email protected]";

$sqlquery = "INSERT INTO Maildata(Name, Email, Secondaryemai) VALUES('". $Name . "' , '" . $Email . "','" . $Secondaryemail . "')";


$result = mysql_query("SELECT * FROM Maildata",$connect) or die(mysql_error());

echo "<table width = 700 border = 1 align = center>";

echo "<tr>";

echo "<td width = 200><center><b>Име</b></center></td>\n";

echo "<td width = 200><center><b>E-mail</b></center></td>\n";

echo "<td width = 200><center><b>Втори e-mail</b></center></td>\n";

echo "<td width = 200><center><b>Действие</b></center></td>\n";

echo "<tr>\n";


while ($row = mysql_fetch_array($result))

{

	echo "<tr>\n";

	echo " <td>" . $row["Name"] . "</td>\n";

	echo " <td>" . $row["Email"] . "</td>\n";

	echo " <td>" . $row["Secondaryemail"] . "</td>\n";

	echo " <td><a href=\"displayform.php" . $row["Email"] ."\">Редактиране</a></td>\n";

	echo " </tr>\n";

}

echo "</table>\n";

?>
Изписва ми:
Не може да се създаде базата данни, поради следната грешка: Can't create database 'mailinglist'; database exists Table 'mailinglist.maildata' doesn't exist

Редактирано от complex (преглед на промените)

А при Apache2Triad как да си оправя потребителското име и паролата за да се connect-вам към Mysql?

Не мога да разбера защо се мъчиш така. Явно имаш две ПЦ-та, инсталирай си родната среда на Апеча т.е. дръпни едно дебианско дистро и гледай какво става, с три команди имаш работещ сървър с PHP, MySQL, FTP, Postfix т.н. ...

sudo apt-get install apache2 mysql-server php5 proftpd postfix
и т'ва е. В MySQL монитора се влиза така:
mysql -u root -p

Относно грешките не съм сигурен при бозата как е, но виж дали се разрешил екстенжъните.

Редактирано от kolermo (преглед на промените)

Грешки имаше доста...

Защо не използваш скоби с echo... От мързела да не се използват скоби се получават много грешки.

И аз знам, че функцията работи и без тях, но в един редактор, който осветява скобите грешките се свеждат до минимум.

Друго... Не използвай букви от различен регистър за променливи и при работа с бази данни... Най-добре е да използваш само малки букви.

$name е много по-подходящо от $Name...

По принцип в РНР е прието за променливи да се използват само малки букви, а за константи само големи. Всъщност не само в РНР, а въобще в програмирането.

При една заявка към база данни може да си написал за име на таблица MyTable, но в базата се записва mytable.

И после, ако ти се наложи някъде сравнение на името и ти си мислиш, че то е MyTable... А в PHP сравнението е чувствително към регистъра.

Ами това е... Извлечи си поуки от това...

Ето ти работещия код:

<?php

function table_exists($host, $user, $pass, $db, $tbl)

{

	$tables = array();

	$link = @mysql_connect($host, $user, $pass);

	@mysql_select_db($db);

	$q = @mysql_query("SHOW TABLES");

	while ($r = @mysql_fetch_array($q)) { $tables[] = $r[0]; }

	@mysql_free_result($q);

	//@mysql_close($link);

	if (in_array($tbl, $tables)) {

		return true;

	} else {

		return false;

	} 

}

$connect = mysql_connect("localhost", "root", "ribamech"); 

if (!$connect) {

	die("Не може да се осъществи връзка, поради следната грешка: " . mysql_error());

} 

$selectdb = mysql_select_db("mailinglist");

if (!$selectdb) {

	$sql = "CREATE DATABASE mailinglist";

	 if (mysql_query($sql, $connect)) {

		echo("Базата данни <strong>mailinglist</strong> бе създадена успешно.<br />");

		$selectdb = mysql_select_db("mailinglist");

		 } else {

		echo("Не може да се създаде базата данни, поради следната грешка: " . mysql_error() . "<br />");

	} 

}

else{

	 echo("Базата данни <strong>mailinglist</strong> вече съществува.<br />"); 

} 

if (table_exists('localhost', 'root', 'ribamech', 'mailinglist', 'maildata')) {

	echo("Tаблицата <strong>mailinglist</strong> вече съществува.<br />");

} 

else {$sql = "CREATE TABLE maildata (

		name VARCHAR(50) NOT NULL,

		email VARCHAR(50) NOT NULL,

		secondaryemail VARCHAR(50) NOT NULL,

		PRIMARY KEY (email)

		)

		ENGINE = innodb;"; 

 if (mysql_query($sql, $connect)) {

	echo("Tаблицата <strong>mailinglist</strong> бе създадена успешно.<br />");

} else {

	echo("Не може да се създаде базата данни, поради следната грешка: " . mysql_error() . "<br />");

} 

} 

$name = "Светослав";

$email = "[email protected]";

$secondaryemail = "[email protected]";

$sqlquery =  "INSERT INTO maildata (name, email, secondaryemail) VALUES (\"$name\", \"$email\", \"$secondaryemail\");";

mysql_query($sqlquery, $connect);

$rez = mysql_query("SELECT * FROM maildata",$connect) or die(mysql_error());

echo("<table width = 700 border = 1 align = center>");

echo("<tr>");

echo("<td width = 200><center><b>Име</b></center></td>\n");

echo("<td width = 200><center><b>E-mail</b></center></td>\n");

echo("<td width = 200><center><b>Втори e-mail</b></center></td>\n");

echo("<td width = 200><center><b>Действие</b></center></td>\n");

echo("<tr>\n");

while ($row = mysql_fetch_array($rez))

 {

echo("<tr>\n");

echo("<td>".$row["name"]."</td>\n");

echo("<td>".$row["email"]."</td>\n");

echo("<td>".$row["secondaryemail"]."</td>\n");

echo("<td><a href=\"displayform.php\"" . $row['email'] . ">Редактиране</a></td>\n");

echo("</tr>\n");

} 

echo("</table>\n");


?>

И друго много внимавай с кавичките - единични, двойни, обърнати... Просто внимавай...

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.