Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache i MySQL na Windows [scanner]
Forum PHP.pl > Wortal > Artykuły
itsme
Uwagi, pytania zwiazane zwiazane z artykulem scannera "Apache i MySQL na Windows" proszę pisać w tym temacie.
cr4sh
Witam!!!
Jak dla mnie ten artykuł jest [cenzura angrysmiley.gif ] i to dzieki niemu po raz pierwszy sam sobie zainstalowałem i skonfigurowałem Apache etc... Wielkie dzieki za to scannerowi.

P.s Dopiero zaczełem swoja przygode z php, Więc wpadne do was czesciej, a przynajmniej mam taka nadzieję
FastRed
W tekst wkradł się jeden błąd:
zamiast
Cytat
extension_dir = "C:/WebServer/php5/extensions/"

powinno być
Cytat
extension_dir = "C:/WebServer/php4/extensions/"


Każdy się domyśli ale można poprawić smile.gif.
scanner
Fixed
Bieniasxyz
Bardzo fajny text, brawa dla pana redaktora laugh.gif
kszychu
Drobna nieścisłość: php nie jest kompilatorem, jak napisałeśa interpreterem. A poza tym fajny tekst smile.gif
scanner
No tak.. rozpędziłem się. Zaraz to poprawię.
matys
Tekst fajny, dzięki niemu łatwo przebrnąc przez instalacje apache i php biggrin.gif
onlyX
Bardzo fajny tekst. Prosty i przejżysty.
Tylko mam pewien problem. Po instalacji MySQL nie uruchamia się prawidłowo (mam cały czas czerwone światło). Jak mogę to naprawić? Mam Win XP.
Chewolf
Cytat
Bardzo fajny tekst. Prosty i przejżysty.
Tylko mam pewien problem. Po instalacji MySQL nie uruchamia się prawidłowo (mam cały czas czerwone światło). Jak mogę to naprawić? Mam Win XP.

Uruchamiaj plik mysqld.exe w ..mysqlbinmysqld.exe
A także usuń z autostartu winmysqladmin
wro
zainstalowałem wszystko tak, jak w artykule i niestety są dwa problemy:
1. nie działa funkcja include(), tzn. nie włączają mi się pliki z kodem htm, które są w tym samym katalogu co pliki php
2. nie działają zmienne przekazywane z formularza, np. jak wywołam w przeglądarce plik forum.php to idzie, a jak zrobię forum.php?id=1 to nie działa.

Co to może być? Będę wdzięczny za pomoc.

Krzysiek

ps. kiedyś instalowałem krasnala i wszystko było ok z tym samym napisanym przeze mnie kodem :-/
scanner
1. pokaż jak wywołujesz te include()
2. poczytaj o register_globals i nucz się korzystać z tablic superglobalnych.


P.S. W najbliższych dniach prawdopodobnie dokonam aktualizacji artykułu w oparciu oi zauważone przez Was braki.
Misiek
Witam

Chciałem skorzystać z artykułu i też zainstalować sobie Apache i php, ale już praktycznie na wstępie problemy. Uruchomiłem instalację Apache'a, nacieszyłem oczy paskiem postępu smile.gif, i dalej nic. Nie działa. Nie widzę żadnych trójkącików, nie wiem jak ma wyglądać ta ikonka w Zasobniku Systemowym, bo obrazek na stronie mi się nie ładuje, tylko Apache Service Monitor mam, ale "No services installed". Uruchomiłem przeglądarkę i wpisałem "localhost", ale nic. Nie było powitalnej strony, tylko wyskoczyło, że nie znaleziono strony. Mam Windows ME, Scanner nie pisał nic o tym systemie, ale w dokumentacji napisane jest, że dla Windows 9x można uaktualnić Microsoft Installer do 2.0. Czy tutaj może tkwić problem? Z góry dzięki za pomoc.
Paul
Chodzi oto, ze twoja winda nie obsluguje services... Wybierz opcje w istalacji bez services


Cytat
Scanner nie pisał nic o tym systemie


Cytat
Windowsy z rodziny NT są wyposażone w mechanizm tzw. Services, które umożliwiają uruchamianie procesów w tle (podobnie do daemonów znanych z systemów U*nix/Linux). Procesy te działają nawet wtedy, gdy nie jest zalogowany żaden użytkownik.
Misiek
Niestety nie mogę podziękować Ci w postaci "Pomógł mi".
Zainstalowałem sobie Apache 1.3. Teraz chodzi OK.
Ale pojawił się jeszcze jeden problem: zainstalowałem php 4.3.6, akonfigurowałem według zaleceń scannera (zamiast php4apache2.dll wpisałem php4apache.dll) i kiedy zrobiłem index.php z phpinfo(); i wywołałem przez wpisanie localhost w przeglądarce wyskakuje mi okienko i pytanie czy zapisać ten plik na dysku czy otworzyć z bierzącej lokalizacji. Co jest przyczyną? Ponadto po uruchomieniu Apache'a pojawia się informacja: [data] [warn] exec() may not be safe. Też nie wiem co z tym zrobić. W pewnym momencie przestałem "ufać" scannerowi i konfigurowałem wg install.txt ale to samo... Dlaczego?
kicaj
Artykul bardzo dobry.
...dzisiaj postanowilem zrobic sobie male update na: Apache 2.0.50, php 5.0.0 i MySQL 4.0.20.
scanner
Ja też się przesiadłem.
Prawdopodobnie nastąpi aktualizacja artykułu (ok. środy).
wobst
Hmm... mam jedno "ale" (oprócz tego artykuł pierwsza klasa).

Na początku wersje aplikacji, które posiadam :
Apache - 2.0.50
php - 4.3.8

Przy edycji pliku php.ini napisałeś Panie Grzegorzu, że należy wartości defaultowe zmienić na następujące :

Kod
error_reporting=E_ALL
log_errors=Off
display_errors=On
extension_dir="C:/WebServer/php5/extensions/"
session.save_path=C:\WebServer\sessions


Ja przyczepił bym się do tego pierwszego, mianowicie error_reporting. Otóż, po pierwsze, w mojej wersji defaultowo "error_reporting" jest ustawione na pokazywanie wszystkiego (czyli E_ALL), ale to jest akurat "pikuś", chodzi mi o to, czy nie lepiej byłoby wyłączyć pokazywania Notyfikacji. Przy praktycznie każdym działaniu z np. bazą danych takowa notyfikacja zaistnieje i później serwer wyrzuca mnóstwo komunikatów na górze strony, co może niekiedy przyprawić o zawrót głowy.

Ja rozwiązałem tę linijkę w następujący sposób :
Kod
error_reporting  =  E_ERROR|E_WARNING|E_PARSE

Serwer pokazuje tylko błędy, które uniemożliwiają wykonanie kodu.

Hmm... jest to oczywiście sprawa gustu, tyle że początkujący "komputerowcy" będą się raczej dziwili tym wszystkim notyfikacjom, i nie będą mieli zielonego pojęcia jak to to wyłączyć. Ale z drugiej strony notyfikacje niekiedy się przydadzą, w przypadku jeżeli chcielibyśmy prześledzić działanie naszego skryptu.
scanner
Widać kolego, mze nie pisałeś nigdy w innym bardziej wymagającym jezyku.
Notyfikacje wymuszają pisanie poprawnego kodu, w którym uwzględnione jest sprawdzanie istnienia i typów zmiennych.

Pokaż mi twoje notyfikacje, a pokażę Ci, że masz niechlujny kod.

Co do ustawień error-reporting - napisanie o tej zmiennej ma zmusić użytkownika do zapamiętania, ze ona istnieje. A tak się składa, ze znaczna częśc "programistów" nawet nie wie, jakie są ustawienia języka i gdzie je modyfikować.

Czekam na cytaty notyfikacji. Bo moje skrypty nic takiego nie pokazują...
Jojo
Kiedyś zauważyłem, że mój skrypt, w którym pokazywały się notyfikacje dotyczące niezainicjowania pewnej zmiennej wykonywał się dość wolno. Wystarczyło zainicjować zmienną gdzieś na początku, aby przyspieszyć jego wykonanie o około 50%. Od tamtej pory zawsze mam ustawione error_reporting na wartość E_ALL.
silent
Czyli warto troszkę się wysilić i pisać kod tak, żeby przy E_ALL nie wypisywało nic?
Z reguły sprowadza się to do sprawdzania istnienia zmiennej przed jej przyrównaniem do jakiejś wartości, bądź inicjalizacji w postaci przykładowo:
  1. <?php
  2.  
  3. $var=array();
  4. // przed
  5. $var[]='jakas wartosc';
  6.  
  7. //czy też:
  8.  
  9. $var='';
  10. // przed
  11. $var.='jakas wartosc';
  12.  
  13. ?>
wobst
Przepraszam za wymądrzenia, zapewne macie rację. Kod prześlę oczywiście i będę bardzo rad jeżeli podpowiesz mi co jest nie tak (może na php się nie znam, ale za to wychodzi mi rymowanie).
Oxy
so:Win98
Apache: 2.0.50
php: 4.3.8


Dzięki za artykuł - jest generalnie ok smile.gif , z małym wyjątkiem... angrysmiley.gif
Wszystko poszło ok - udało mi się zainstalować i skonfiguraowac poprawnie wszystko. I do tego ku mojemu zaskoczeniu wszystko działało ! ...do momentu aż nie przyszło mi do głowy zabezpieczenie się przed intruzami (a co !), eehhh.. ten rażący napis na stronie powitalnej...

No to postanowiłem zmianić hasła dla roota - dokonując zmian zgodnie z opisem w pkt.5. phpMyAdmin.

W momencie odświeżenia strony okazało się że dostaję komunikat:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

na stronie, bez okna logowania.
Dodatkowo sygnalizator uliczny pokazuje czerwone światło!

Sprawdziłem dokonane zmiany w pliku config.inc.php - wszystko zgodnie ze wskazówkami. Próbowałem wpisywać "na chama" hasło i usera w pliku konfiguracyjnym - niestety bez rezultatu.

Rozumiem, że w zw z tym że zmieniłem hasło na roota, nie moge się dostać do bazy, czyżby baza leżała (jak to sprawdzić)...?
Pytanie co jest nie tak - co jeszcze powinienem zrobić ? - ... a i może autor programu powinien dodać do artykułu smile.gif - chociażby na przyszłość, dla takich newbees jak ja winksmiley.jpg
Gdzie się podziało okno logowania?
scanner
sprawdz co masz w linii:
  1. <?php
  2. $cfg['Servers'][$i]['auth_type']  = 'config'; // Authentication method (config, http or cookie based)? 
  3. ?>
Powinno być ustawione Cookie lub http
Oxy
Dzięki za szybką odp.
No właśnie w tej linii mam "cookie" !. Ale zmieniałem też na http - bez rezultatu.
Po zmianach restartowałem wszystko z Apachem włącznie.
Używam Opery 7.54, ale i na IE ten sam błąd - ciastka włączone na obydwu.

Dostałem się wczoraj do bazy MySQL'a. Hasła roota zatem sa ok.
Nie mogę jednak nadal uruchomić MySQL Admina sad.gif - czerwone światło i wciąż ten sam błąd #1045.

Poza tym jednym wszystko gra.
Jakieś sugestie ?

BTW - możecie polecić jakieś dobre darmowe narządko (edytor) do kodowania w SQLu, i do php ?
Dopiero zaczynam więc nie chciałbym wyważać otwartych drzwi smile.gif
Kizio
Mam taki sam problem jak Oxy z PhpMyAdmin'em.
Jak wpisuje adres http://localhost/pma to widze pola do logowania i w Nazwie użytkownika wpisane "root" a w hasle nic, daje na zaloguj i wyskakuje mi komunikat:
Kod
#1045 - Access denied for user 'root'@'localhost' (using password: NO)


Co robić? W config.inc.php mam ustawione logowanie cookie.

próbowałem wpisywac i config, i http i zawsze to samo.
kasma
Odpowiadając na poprzedni tutaj post najprawdopodobniej w pliku konfiguracyjnym phpMyadmina config.inc.php masz niewypełnioną linię:
$cfg['Servers'][$i]['password'] = '';
ta linia musi być uzupełniona o hasło = 'hasło_do_serwera';

Może jeszcze trochę bla, bla, bla - ponieważ też nie bardzo znalazłem odpowiedzi w nwcie na zabezpieczenie phpMyAdmina trybem uwierzytelniania 'config'

Zabezpieczyłem swojego phpMyAdmin-a przed całkowitym otwieraniem na innych kompach w spoób następujący

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'hasło';

$cfg['Servers'][$i]['AllowRoot'] = TRUE;
$cfg['Servers'][$i]['AllowDeny']['order'] blank to not use = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all',
'allow root from localhost',
'allow root from 192.168.0.10/255.255.255.0',
);

Są to najważniejsze linie konfiguracji dostępu roota - w końcu inni nie powinni nic tu zmieniać. Po co hasła!!

Krótkie wyjaśnienie:

$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'hasło'; - wiadomo co to - bez wyjaśnienia

$cfg['Servers'][$i]['AllowRoot'] = TRUE; - czy root może się logować
$cfg['Servers'][$i]['AllowDeny']['order'] blank to not use = 'deny,allow'; - reguła (może metoda) zabezpieczenia, najpierw blokujemy, a następnie zezwalamy wybranym
A teraz reguły dostępu do root-a
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all', - zamykamy rota przed wszystkimi
'allow root from localhost', - pozwalamy logować się root-owi z maszyny lokalnej
'allow root from 192.168.0.10/255.255.255.0', - pozwalamy logować się root-owi z sieci z komputera o adresie 192.168.0.10
);


Nie muszę chyba tutaj mówić, że sieć w moim przypadku jest oparta o adresy IP. Nie wiem jak to by było gdyby adresy były przydzielane dynamicznie (nie mam gdzie tego sprawdzić) i nie chcę nikogo wprowadzać w błąd jak to by było w przypadku DHCP. Ale na pewno przy dhcp zadziałają te 2 reguły:
$cfg['Servers'][$i]['AllowDeny']['rules'] blank for defaults = array(
'deny root from all',
'allow root from localhost',
);

Dostęp będzie tylko w tym przypadku z maszyny lokalnej.
VGT
Na początek przepraszam za wykopanie tematu który od roku śpi sobie spokojnie, ale szczerze mówiąc wciąż jest to najlepszy materiał na jaki trafiłem w sieci pozwalający w miarę bezboleśnie przejść przez stawianie własnego serwera i za to duże podziękowania dla autora tekstu.
Przy właśnie postawionej u siebie konfiguracji (Apache 2.0.55, php 5.1.2, MySQL 4.1.8) wystąpiło po drodze kilka zmian względem artykułu, jednak nie były to różnice na tyle duże, abym nie mógł sobie poradzić.... ale:

Cytat
Teraz musimy skopiować kilka plików. Po lewej jest ścieżka skąd - po prawej dokąd. Ścieżki oczywiście bazują odpowiadają ścieżkom instalacji, którymi posługuje się w tym artykule.
a. C:\WebServer\php4\php.ini-recomended -> C:\Windows\php.ini
b. C:\WebServer\php4\php4ts.dll -> C:\WebServer\Apache2\bin
c. C:\WebServer\php4\dlls\iconv.dll -> C:\WebServer\Apache2\bin

Na tym etapie znalezienie dwóch pierwszych plików było możliwe, jednak nie znalazłem trzeciego pliku, ani żadnego choćby zbliżonego nazwą do niego. Mimo pominięcia tego pliku serwer działa i jak na razie nie pojawiają się żadne problemy.
Więc moje pytanie: Za co ten plik jest odpowiedzialny i czy w mojej wersji php powinienem skopiować jakiś inny plik?
Z góry dziękuję za wszelkie wyjaśnienia.
kasma
O ile dobrze pamiętam iconv.dll odpowiedzialny jest za obsługę jakiejś wężykowatej strony kodowej.
Reasumując.... Jeżeli używamy ludzkiego biggrin.gif języka kompletnie jest to nam niepotrzebne....
VGT
Dzieki za odpowiedź. Po przeczytaniu Twojego postu sam jeszcze zacząłem dokładniej googlować za informacjami i okazało się, że najciemniej pod latarnia winksmiley.jpg
na stronie php.net jest informacja o tym module i z jednej z notek mozna sie dowiedziec, ze od wersji 5.0.1 biblioteka ta jest standardowo zaimplementowana. O ile wypowiedz jest wiarygodna, to raczej nie mam sie czego obawiac smile.gif
misiek2k
Hej, mam maly problem.

staralem sie skonfigurowac wszystko tak jak pokazane jest to w artykule na stronie, ale dla:

- Apache 2.2
- MySql 5.1.6
- php 4.4.4

wszystko pod WIN Xp SP2 PL, wszystkie aktualizacje.

Robie krok po kroku, po zainstalowaniu MySql i Apache wszystko ok. Ale mam problem w momencie gdy dodaje rzeczy zwiazane z PHP4. Przy restarcie Servera przez Apache Monitor, wyskakuje mi błąd. A dokładnie związany z dopisaniem tej linijki:

LoadModule php4_module "C:/WebServer/php4/sapi/php4apache2.dll"

wyskakuje iż " Nie można odnaleźć określonego modułu"

Help! smile.gif Czy moge prosic o pomoc dla takiego zestawu programikow, krok po kroku, bo moze robie cos zle. Dziekuje za wszelka pomoc
revyag
A napewno ta ściezka dostępu fizycznie na dysku istnieje ?
C:/WebServer/php4/sapi/php4apache2.dll
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2019 Invision Power Services, Inc.