Инсталиране на Apache, PHP, MySQL. Инсталиране и конфигуриране на PHP, включително конфигурационния файл

Здравейте, скъпи мои читатели! Наистина се надявам, че днешната статия ще бъде полезна не само за неопитни потребители на мрежата, но и за опитни потребители, които са объркани относно функциите на различните хостинг системи.

Искам да ви кажа как да конфигурирате php на . Като цяло процесът на настройка включва коригиране на данните в системния файл php.ini.

Основни понятия

Рhp.ini– файлов документ, който съдържа директиви (конфигурация и настройки), които определят поведението на PHP (по-специално конкретен сайт).

Преводач– програма, която чете и изпълнява програмен код ред по ред. Първо търси настройки в php.ini. И след това отива в самата директория, посочена в текстовата променлива на PHP RC.

След ръчно редактиране на всеки PHP файл е важно да не забравяте да оставите името му непроменено, в противен случай интерпретаторът няма да може да го намери!

Тази информация е чисто обобщена, на практика би трябвало да е по-ясна.

Изберете една от опциите

Вариант номер 1 за тези, които използват cPanel като административен панел.

Потърсете секцията „Конфигурация“ в менюто, където са публикувани PHP параметрите за хостинг.

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

Ако вашият хостинг ви позволява да конфигурирате PHP, значи сте късметлии. Ако не, тогава преминете към опция № 2 - свържете се с техническа поддръжка за помощ.

Инструкции стъпка по стъпка или предефинирайте php.ini по ваш собствен начин

Намираме оригиналния файл с настройки.htaccess и въвеждаме следните данни в него:

chmod 755 php5.fcgi

Е, това е всичко, нека го използваме.

Има някои разяснения към тези инструкции стъпка по стъпка. Когато създавате файла php5.fcgi, трябва да използвате текущите настройки на Unix (прекъсване на ред), тоест да запишете информация във файла с тага /n. И ако възникне грешка 500, трябва да проверите файла php-error.log, където най-вероятно ще намерите проблема.

Още няколко настройки са важни:

disable_functions– позволява ви да блокирате повиквания към няколко функции в безопасен режим.

Забележка! Потребителят посочва списъка с такива функции самостоятелно, разделени със запетаи;

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

И накрая ще добавя: за да видите настройките и да разберете PHP версията, трябва да създадете php файл (името няма значение), в който трябва да напишете следния код:

Това е всичко, дерзайте! Не забравяйте да кажете на приятелите си в социалните медии. мрежи за нов материал, който сте прочели, и се абонирайте за пощенския списък с известия за преразглеждане на следващата статия. Ще се видим!

С уважение! Абдулин Руслан

След това ще инсталираме PHP и ще конфигурираме уеб сървъра да го използва. Разопаковайте zip архива (php-5.2.9-Win32.zip) в удобна за вас папка (най-добре в C:\php 5; ще проследя в статията, че разопаковането е направено тук, така че ако имате PHP на друго място , след което съответно продължете да използвате вашата директория). Отидете в тази папка и преименувайте файла php.ini-dist на php.ini. Отворете този файл с бележник или друг текстов редактор. Мисля, че настройките по подразбиране са достатъчно добри, просто трябва да коригирам няколко директиви. Първо трябва да изберете място на диска, където ще се съхраняват сървърни документи, тоест HTML, PHP файлове и т.н. В предишната статия относно инсталирането на Apache избрахме директорията C:\www\htdocs. След това трябва да коригираме директивата във файла php.ini

Doc_root =

Doc_root = "C:\www\htdocs"

Също така не забравяйте да коригирате extension_dir с

Extension_dir = "./"

;разширение=php_mysql.dll ;разширение=php_mysqli.dll

Ако планирате да използвате други модули, разкоментирайте и тях. Ето списък на основните модули:

;extension=php_bz2.dll - за работа с bz2 архиви (разопаковане/опаковане с помощта на скриптове) ;extension=php_curl.dll е curl разширение; с него можете например да изпратите POST заявка от скрипт към друг скрипт; extension=php_exif.dll - за работа с допълнителна информация във фото файлове; extension=php_gd2.dll - графична библиотека за генериране на картини чрез скриптове; extension= php_mbstring.dll - това е библиотека за работа с многобайтови (Unicode) низове, силно ви съветвам да я свържете, в противен случай някои CMS може да не работят; extension=php_msql.dll - за работа с mSQL база данни; extension=php_mssql .dll - за работа с Microsoft SQL Server разширение=php_mysql.dll - стандартна MySQL библиотека; за версии на MySQL 5 и по-стари е по-добре да използвате модула mysqli; extension=php_mysqli.dll - подобрена (MySQL Improved) библиотека за работа с MySQL. За да работите с MySQL5, по-добре е да го използвате; extension=php_pdo.dll - този модул, както и всички PDO модули, предоставят унифициран интерфейс към много бази данни. Но по-специално това е полезно, защото това е (доколкото знам, поне от стандартните) единственият начин за работа с бази данни SQLite 3; extension=php_pgsql.dll - за работа с PostgreSQL DBMS; extension=php_sockets .dll - модул за работа със сокети от скриптове extension=php_sqlite.dll - за работа с безсървърна SQLite база данни. Този модул поддържа само версия 2 на файлове с база данни; разширение=php_zip.dll - за работа с zip архиви (същото като за bz2)

Можете веднага да декоментирате няколко по-често използвани модула.

Разширение=php_gd2.dll разширение=php_mbstring.dll

Това завършва редактирането на php.ini (не забравяйте да запазите промените!). Сега от директорията C:\php5 в директорията C:\WINNT\System32 копирайте файла libmysql.dll. Необходим е, за да работи PHP с MySQL. Или добавете пътя, разделен с точка и запетая C:\php5към променливата на пътя - Системни свойства -> Разширени -> Променливи на средата -> Път. За да влязат в сила промените в този случай, трябва да рестартирате компютъра.

Отидете до каталога C:\Program files\Apache2.2\confи отворете файла httpd.conf в текстов редактор.

Нека разкоментираме редовете, добавени в предишната статия:

LoadModule php5_module "c:/php/php5apache2_2.dll" PHPIniDir "C:/WINNT"

Това е всичко, уеб сървърът и PHP са конфигурирани да работят заедно. Не забравяйте да рестартирате вашия уеб сървърза да накара PHP да работи! За да направите това, използвайте Apache Monitor (икона на писалка със зелена стрелка в системната област)

Най-вероятно, когато работите със скриптове, ще трябва да промените следните настройки в php.ini:

1. При инсталиране на скрипта понякога се появява следната грешка:

Фатална грешка: Максималното време за изпълнение от 30 секунди е превишено в C:\blablabla\file.php на линия 360

Можете да коригирате това, като промените максимално_време_за_изпълнениев php.ini

Максимално_време_за_изпълнение = 60; Максимално време за изпълнение на всеки скрипт, в секунди

до по-висока стойност

Максимално_време_за_изпълнение = 180

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

; Максимално разрешен размер за качени файлове. upload_max_filesize = 100M

Конфигурационният файл (php.ini) се чете при стартиране на PHP. За версиите на сървърния модул на PHP това се случва само веднъж при стартиране на уеб сървъра. За CGI и CLI версиите това се случва при всяко извикване.

php.ini се търси в тези местоположения (по ред):

  • Специфично местоположение на SAPI модул ( PHPIniDirдиректива в Apache 2, -° Сопция за команден ред в CGI и CLI, php_iniпараметър в NSAPI, PHP_INI_PATHпроменлива на средата в THTTPD)
  • Променливата на средата PHPRC. Преди PHP 5.2.0 това се проверяваше след ключа на системния регистър, споменат по-долу.
  • От PHP 5.2.0, местоположението на php.iniможе да се настрои за различни версии на PHP. Коренът на ключовете в системния регистър зависи от 32- или 64-битовостта на инсталираната операционна система и PHP. За 32-битов PHP на 32-битова ОС или 64-битов PHP на 64-битова ОС използвайте [(HKEY_LOCAL_MACHINE\СОФТУЕР\PHP]за 32-битова версия на PHP при използване на 64-битова ОС ] вместо. За същата битова инсталация се проверяват следните ключове в системния регистър по ред: , и , където x, y и z означават основната, второстепенната и версията на PHP. За 32-битови версии на PHP на 64-битова ОС следните ключове в системния регистър се проверяват по ред: , и , където x, y и z означават основната, второстепенната и версията на PHP. Ако има стойност за IniFilePathв който и да е от тези ключове, първият намерен ще се използва като местоположение на php.ini(само за Windows).
  • или , стойност на IniFilePath(само за Windows).
  • Текуща работна директория (с изключение на CLI).
  • Директорията на уеб сървъра (за SAPI модули) или директорията на PHP (в противен случай в Windows).
  • Windows директория (C:\windows или C:\winnt) (за Windows), или --with-config-file-pathопция за време за компилиране.

Ако съществува php-SAPI.ini (където SAPI е използваният SAPI, така че например php-cli.ini или php-apache.ini), той се използва вместо php.ini. SAPI името може да се определи с php_sapi_name().

Уеб сървърът на Apache променя директорията на root при стартиране, което кара PHP да се опита да прочете php.ini от основната файлова система, ако съществува.

Използването на променливи на средата може да се използва в php.ini, както е показано по-долу.

Пример #1 Променливи на средата php.ini

; PHP_MEMORY_LIMIT се взема от среда memory_limit = $(PHP_MEMORY_LIMIT)

Директивите php.ini, управлявани от разширенията, са документирани на съответните страници на самите разширения. Списък на основните директиви е наличен в приложението. Не всички PHP директиви са непременно документирани в това ръководство: за пълен списък на директивите, налични във вашата PHP версия, моля, прочетете вашия добре коментиран файл php.ini. Като алтернатива, Git също може да ви помогне.

Пример #2 Пример за php.ini

; всеки текст на ред след точка и запетая без кавички (;) се игнорира; маркерите за секции (текст в квадратни скоби) също се игнорират; Булевите стойности могат да бъдат зададени на: ; вярно, на, да ; или false, off, no, none register_globals = off track_errors = yes; можете да оградите низове в двойни кавички include_path = ".:/usr/local/lib/php" ; обратните наклонени черти се третират по същия начин като всеки друг знак include_path = ".;c:\php\lib"

От PHP 5.1.0 е възможно да се препраща към съществуващи .ini променливи от .ini файлове. Пример: open_basedir = $(open_basedir) ":/нов/директор".

Сканиране на директории

Възможно е да конфигурирате PHP да сканира за .ini файлове в директория след прочитане на php.ini. Това може да стане по време на компилиране, като зададете --with-config-file-scan-dirопция. В PHP 5.2.0 и по-нови, директорията за сканиране може да бъде заменена по време на изпълнение чрез задаване на променливата на средата PHP_INI_SCAN_DIR.

Възможно е да сканирате множество директории, като ги разделите със специфичния за платформата разделител на пътя ( ; на Windows, NetWare и RISC OS; : на всички други платформи; стойността, която PHP използва, е достъпна като PATH_SEPARATORпостоянен). Ако в PHP_INI_SCAN_DIR е дадена празна директория, PHP също ще сканира директорията, дадена по време на компилиране чрез --with-config-file-scan-dir .

Във всяка директория PHP ще сканира всички файлове, завършващи на .iniпо азбучен ред. Списък на файловете, които са били заредени и в какъв ред, можете да получите чрез обаждане php_ini_scanned_files(), или като стартирате PHP с --iniопция.

Ако приемем, че PHP е конфигуриран с --with-config-file-scan-dir=/etc/php.d и че разделителят на пътя е:... $ php PHP ще зареди всички файлове в /etc/php.d/* .ini като конфигурационни файлове. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP ще зареди всички файлове в /usr/local/etc/php.d/*.ini като конфигурационни файлове. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP ще зареди всички файлове в /etc/php.d/*.ini, след това /usr/local/etc/php.d/*.ini като конфигурационни файлове . $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP ще зареди всички файлове в /usr/local/etc/php.d/*.ini, след това /etc/php.d/*.ini като конфигурационни файлове .

Дневник на промените

Версия Описание
7.0.0 Решетки ( # ) вече не се разпознават като коментари.
5.3.0 Решетки ( # ) вече не трябва да се използва като коментари и ще изведе предупреждение за оттегляне, ако се използва.
5.2.0 Променливата на обкръжението PHP_INI_SCAN_DIR може да бъде настроена да замени директорията за сканиране, зададена чрез скрипта за конфигуриране.
5.1.0 Възможно е да се препраща към съществуващи .ini променливи от .ini файлове.

И днес ще говорим за PHP инсталация. Както при Apache, тук няма нищо сложно. Ако това е първото ви вземане на заем инсталиране и конфигуриране на PHPна вашата локална машина, тогава ще намерите за полезно да прочетете това ръководство със снимки. Ако вече сте опитен бизон в тези въпроси, можете спокойно да пропуснете тази бележка.

Така че, ако четете тази публикация, значи или инсталирате PHP за първи път, или имате въпроси/проблеми по време на процеса на инсталиране или конфигуриране на PHP. Ще се опитам да опиша този процес възможно най-подробно.

Първо, имаме нужда от дистрибуция с най-новата версия на PHP. Може да бъде изтеглен от официалния сайт – www.php.net (9,5 Mb).

Изтеглете комплекта за разпространение на вашия компютър, като изберете огледало, което е географски най-близо до вас

Разархивирайте съдържанието на архива в папка C:/php5. Отново, ако за първи път инсталирате комбинацията Apache -PHP-MySQL, препоръчвам да я инсталирате, като използвате указаните от мен пътища.

И така, в C:/php5трябва да имате следното:

Инсталирането на PHP е завършено, сега нека да го конфигурираме.

Преименувайте файла php.ini-препоръчително V php.ini:

  • изберете файл
  • натиснете F2
  • премахване - препоръчително
  • натиснете Enter.

Сега нека отворим файла в Notepad и да започнем PHP настройки. Файлът съдържа доста голям брой PHP настройки, но сега не ни трябват. Ще направим само основната настройка, която ще ни позволи да стартираме PHP на нашата локална машина.

Малко за формата на описанието във файла с настройки

Символът ';' означава, че редовете са коментирани (няма да бъдат взети предвид). Например:

; ignore_user_abort = Включено

Както може би сте забелязали, настройките са разделени на групи за по-лесно търсене във файла. Например настройките за управление на ограниченията на ресурсите:

;;;;;;;;;;;;;;;;;;;;;;
; Ограничения на ресурсите;
;;;;;;;;;;;;;;;;;;;;;;

max_време_за_изпълнение = 30; Максимално време за изпълнение на всеки скрипт, в секунди.
max_input_time = 60; Максимално време, което всеки скрипт може да отдели за анализиране на данните от заявката
;max_input_nesting_level = 64 ; Максимално ниво на влагане на входната променлива
памет_лимит = 128M; Максимално количество памет, което един скрипт може да консумира (128MB)

Формат за описание на параметрите и техните стойности:

име_на_променлива = нейната_стойност

Настройка на PHP модули.

Намерете раздел Динамични разширения(динамични разширения). Има доста голям списък от модули за PHP:

;разширение=php_bz2.dll
;разширение=php_curl.dll
;разширение=php_dba.dll
;разширение=php_dbase.dll
;разширение=php_exif.dll
;разширение=php_fdf.dll
;разширение=php_gd2.dll
;разширение=php_gettext.dll
;разширение=php_gmp.dll
;разширение=php_ifx.dll
;разширение=php_imap.dll
;разширение=php_interbase.dll
;разширение=php_ldap.dll
;разширение=php_mbstring.dll
;разширение=php_mcrypt.dll
;разширение=php_mhash.dll

;разширение=php_ming.dll
;разширение=php_msql.dll
;разширение=php_mssql.dll
;разширение=php_mysql.dll
;разширение=php_mysqli.dll
;разширение=php_oci8.dll
;разширение=php_openssl.dll
;разширение=php_pdo.dll

;разширение=php_pdo_mssql.dll
;разширение=php_pdo_mysql.dll
;разширение=php_pdo_oci.dll
;разширение=php_pdo_oci8.dll
;разширение=php_pdo_odbc.dll
;разширение=php_pdo_pgsql.dll

;разширение=php_pgsql.dll
;разширение=php_pspell.dll
;разширение=php_shmop.dll
;разширение=php_snmp.dll
;разширение=php_soap.dll
;разширение=php_sockets.dll
;разширение=php_sqlite.dll
;разширение=php_sybase_ct.dll
;разширение=php_tidy.dll
;разширение=php_xmlrpc.dll
;разширение=php_xsl.dll

Когато всеки модул е ​​свързан, той заема определено количество оперативна памет. За работа ще свържем само онези модули, от които определено се нуждаем, а останалите могат да бъдат свързани според нуждите.

За да свържете модула, трябва да премахнете символа „;“ преди линията. Така ще разкоментираме реда и модулът ще бъде използван.

Нека активираме PHP разширението за работа с графики - php_gd2.dll(ще ни трябва в бъдеще).

За да може PHP да намери къде се намират разширенията, ние посочваме пътя до тях. Добавете следния ред преди или след свързване на разширения. В резултат на това трябва да получите следното:

;;;;;;;;;;;;;;;;;;;;;;
; Динамични разширения;
;;;;;;;;;;;;;;;;;;;;;;
;
; Ако желаете разширение да се зареди автоматично, използвайте следното
; синтаксис:
;
; разширение=име на модул.разширение
;
; Например в Windows:
;
; разширение=msql.dll
;
; ...или под UNIX:
;
; разширение=msql.so
;
; Имайте предвид, че това трябва да е само името на модула; няма информация за директорията
; трябва да отиде тук. Посочете местоположението на разширението с
; директива extension_dir по-горе.

; Windows разширения
; Имайте предвид, че поддръжката на ODBC е вградена, така че не е необходим dll за нея.
; Имайте предвид, че много DLL файлове се намират в разширенията/ (PHP 4) ext/ (PHP 5)
; папки с разширения, както и отделното изтегляне на PECL DLL (PHP 5).
; Не забравяйте да зададете правилно директивата extension_dir.

extension_dir=”C:/php5/ext”

;разширение=php_bz2.dll
;разширение=php_curl.dll
;разширение=php_dba.dll
;разширение=php_dbase.dll
;разширение=php_exif.dll
;разширение=php_fdf.dll
разширение=php_gd2.dll
;разширение=php_gettext.dll
;разширение=php_gmp.dll
;разширение=php_ifx.dll
;разширение=php_imap.dll
;разширение=php_interbase.dll
;разширение=php_ldap.dll
;разширение=php_mbstring.dll
;разширение=php_mcrypt.dll
;разширение=php_mhash.dll
;разширение=php_mime_magic.dll
;разширение=php_ming.dll
;разширение=php_msql.dll
;разширение=php_mssql.dll
;разширение=php_mysql.dll
;разширение=php_mysqli.dll
;разширение=php_oci8.dll
;разширение=php_openssl.dll
;разширение=php_pdo.dll
;разширение=php_pdo_firebird.dll
;разширение=php_pdo_mssql.dll
;разширение=php_pdo_mysql.dll
;разширение=php_pdo_oci.dll
;разширение=php_pdo_oci8.dll
;разширение=php_pdo_odbc.dll
;разширение=php_pdo_pgsql.dll
;разширение=php_pdo_sqlite.dll
;разширение=php_pgsql.dll
;разширение=php_pspell.dll
;разширение=php_shmop.dll
;разширение=php_snmp.dll
;разширение=php_soap.dll
;разширение=php_sockets.dll
;разширение=php_sqlite.dll
;разширение=php_sybase_ct.dll
;разширение=php_tidy.dll
;разширение=php_xmlrpc.dll
;разширение=php_xsl.dll
;разширение=php_zip.dll

Запазваме промените, които сме направили. За да влязат в сила направените от нас настройки, трябва да рестартирате Apache.

Инсталиране и конфигуриране на PHPзавършен!

Както можете да видите, нищо сложно. Ако по време на работа имате нужда от други разширения, просто разкоментирайте реда с разширението, от което се нуждаете (подобно на php_gd2.dll) и рестартирайте Apache.

В следващата публикация ще ви кажа как да накарате PHP и Apache да работят заедно.

В тази статия ще разгледаме инсталирането и конфигурирането на уеб сървър Apache, PHP 5И MySQL СУБДда ги използвате на локална машина под операционна система Windows (2000 и XP). Използването на локални сървъри може да е необходимо по много причини - трябва да научите PHP или MySQL, а тестването на вашите уеб приложения на хостинг е или скъпо, или изобщо не е възможно. В този случай ще ви трябва Apache+PHP+MySQL на вашата локална машина.

Първо трябва да получите дистрибуции на Apache и MySQL сървъри, както и PHP архив. Ние ще инсталираме и конфигурираме Apache 2, MySQL 4 и PHP 5.

Можете също да изтеглите php.ini файлове за конфигуриране на PHP и httpd.conf за Apache от нашия уебсайт. Направете това обаче само в краен случай - ако нищо не ви се получи с „родните“ файлове, които се появяват при инсталиране на приложения. Но във всеки случай те ще трябва да бъдат конфигурирани за конкретна машина. Изтеглете php.ini и httpd.conf

Можете да изтеглите Apache от огледалата, предоставени на официалния уебсайт http://www.apache.org/dyn/closer.cgi. Когато търсите, не забравяйте, че Apache може също да се нарича httpd, след името на неговия демон в UNIX. Огледалата обикновено имат много различни файлове, например:
httpd-2.0.49-win32-src.zip е архив с изходните кодове (src) за Windows (win32) на уеб сървъра Apache (httpd) версия 2.0.49.
httpd-2.0.49.tar.gz е същото, но за Linux, в който програмите обикновено се разпространяват в изходния код.
apache_2.0.50-win32-x86-no_ssl.exe - и тук е сървърът на Apache (apache) версия 2.0.50, компилиран за архитектурата (x86) за Windows (win32) без поддръжка на SSL (no_ssl) - това е, което ви трябва.

Коментирайте

Двоичните кодове на дистрибуциите на Apache се разпространяват в няколко версии, както с *.exe, така и с *.msi разширения и имат име като httpd_version_win32_*_.msi.

За да не се налага да страдате, ето един ресурс, от който можете да го получите: http://apache.rinet.ru/dist/httpd/binaries/win32/
Втората и третата цифра във версията може да се различават от дадените тук - трябва да изберете най-новата версия, тъй като тя елиминира грешките, открити в предишни версии.

PHP 5 може да бъде изтеглен от секцията на нашия уебсайт.

Разпределението на MySQL може да бъде изтеглено от нашия уебсайт.

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

След като се запасим с всички необходими дистрибуции, можем да започнем инсталацията. Редът, в който са инсталирани Apache, PHP и MySQL, няма значение. Да започнем с уеб сървъра Apache.

Инсталиране на уеб сървър Apache

Стартирайте инсталатора на Apache Web Server. Резултатът ще бъде прозорец с лицензионно споразумение, след приемането на което трябва да преминете към следващия прозорец с кратка информация за нововъведенията във втората версия на Apache. Следният прозорец, показан на фигурата, ви позволява да въведете информация за сървъра: име на домейн на сървъра, Име на сървъраИ имейл адрес на администратор. Ако инсталацията се извършва на локална машина, тогава в полетата за име на домейн и име на сървър трябва да въведете локален хост(вижте снимката.). В долната част на прозореца ще бъдете подканени да изберете номер на пристанищечрез които сървърът ще приема заявки (80 или 8080).


локален хосте името за използване на сървъра на локалната машина, което е свързано с IP адреса 127.0.0.1, който е запазен за локална употреба.

След това ще бъде предложен методът на инсталиране: стандартен ( Типично) или селективно ( Персонализиран), което ви позволява ръчно да избирате сървърни компоненти. Следващият прозорец ви позволява да изберете директорията за инсталиране на сървъра, по подразбиране е C:Program FilesApache Group, но препоръчваме да изберете друга директория, например C:www. След това съветникът за инсталиране ще ви информира, че е готов за процеса на инсталиране и след като щракнете върху бутона Инсталирай, сървърните файлове ще бъдат копирани. Ако инсталацията е успешна, Windows автоматично ще стартира Apache.

След успешна инсталация, когато въведете http://localhost/ или http://127.0.0.1/ в прозореца на браузъра, страницата на сървъра трябва да се зареди.

Сега трябва да научите как да управлявате Apache, а именно да научите как да стартирате, спирате и рестартирате сървъра. Има много начини за извършване на тези операции: използване на помощната програма ApacheMonitor, използване на конзолата за управление на услуги на Windows, използване на елементи от менюто "Старт", от командния ред... Ще разгледаме конзолата за управление на услуги на Windows, която ви позволява да конфигурирате Apache да стартира автоматично при стартиране на системата. За да стартирате конзолата за управление, изпълнете командата
Старт->Настройки->Контролен панел->Администриране->Услуги.
В прозореца на конзолата, който се появява, на фигурата по-долу изберете услугата Apache2. Контекстното меню, което се отваря с щракване върху десния бутон, ви позволява да стартирате, спирате и рестартирате услугата.


Услугите на Windows ви позволяват да стартирате фонови приложения при стартиране на системата. За да направите това, отидете в прозореца Свойства, като изберете елемента в контекстното меню на услугата Имотии в прозореца, който се появява в падащия списък " Тип стартиране"Избери предмет" Автоматичен".

Конфигуриране на Apache

Уеб сървърът е сложен софтуерен продукт, който работи на различни платформи и операционни системи по света. Следователно, за да работи правилно на инсталираната система, тя трябва да бъде конфигурирана.
По подразбиране настройките на Apache се намират във файла httpd.conf в директорията conf. По-долу ще бъдат описани основните директиви на файла httpd.conf и техните често използвани значения.

Пътища на файлове

В Apache и PHP конфигурационните файлове често ще трябва да посочите пътища към различни директории и папки. Операционните системи UNIX и Windows използват различни разделители на директории. UNIX използва наклонена черта "/", например /usr/bin/perl, докато Windows използва обратна наклонена черта, например c:Apachein. По принцип в някои директиви на Apache и PHP работят и двата типа разделители на директории: напред (/) и обратно (), но тъй като и Apache, и PHP първоначално са разработени за UNIX, използвайки техния „нативен“ формат, можете да избегнете редица проблеми . Затова се препоръчва да се записват пътеки в конфигурационните файлове (httpd.conf и php.ini), като се използва наклонена черта във формат UNIX - “/”. Например:

ScriptAlias ​​​​"/php_dir/" "c:/php/"

httpd.conf файлови директиви

Порт

Порт 80

Задава TCP порта, който Apache използва за установяване на връзка. По подразбиране се използва порт 80.

Забележка

Единствената причина да използвате нестандартен порт е, ако нямате права да използвате стандартния порт. Когато използвате нестандартен порт, например 8080, номерът на порта трябва да бъде посочен в адреса, например: http://localhost:8080/.

Администратор на сървъра

Администратор на сървъра [имейл защитен]

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

Име на сървъра

Име на сървъра myserver

Съдържа името на компютъра за сървъра.

ServerRoot

ServerRoot "C:/Apache2"

Сочи към директорията, съдържаща файлове на уеб сървъра на Apache.

Забележка

Не бъркайте директивата ServerRoot с директивата DocumentRoot, която указва директорията за файловете на WEB сайта.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Определя директорията, в която се намират файловете на WEB сайта.

Контейнер

Обхватът на директивите в този контейнер се простира до всички файлове и поддиректории в DocumentRoot.


Опции FollowSymLinks Включва индекси
AllowOverride All

  • Директивата AllowOverride, зададена на All, ви позволява да замените стойностите на основния конфигурационен файл httpd.conf във файлове .htaccess.
  • Директивата Options FollowSymLinks позволява на Apache да следва символни връзки.
  • Директивата Options Includes позволява изпълнението на SSI (Server Side Includes) директиви в кода на страниците на уебсайта.
  • Директивата Options Indexes указва, че съдържанието на дадена директория трябва да бъде върнато, ако индексен файл липсва.

DirectoryIndex

DirectoryIndex index.html index.phtml index.php

Съдържа списък с индексни файлове, които трябва да се показват при достъп до директория без посочване на име на файл (например http://localhost/test/).

AddDefaultCharset

AddDefaultCharset windows-1251

Задава кодирането по подразбиране, ако не е зададено кодиране в главата на HTML документа. Може също да се наложи да посочите стойността на кодиране KOI8-R.

Създаване на виртуални хостове

Можете да инсталирате няколко WEB сайта на един WEB сървър на Apache. Тази функция на сървъра се нарича виртуален хостинг. По-долу ще разгледаме създаването на виртуални възли въз основа на имена. Виртуалните хостове обикновено се намират в края на файла httpd.conf.

Първо трябва да посочите кой IP адрес се използва за виртуалните хостове.



# Директиви за виртуален хост

файл httpd.conf. Контейнер


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
Име на сървъра www.mysite.ru
Псевдоним на сървъра www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log общ

Нека да разгледаме директивите за виртуален възел:

  • DocumentRoot показва директорията, където се намират файловете (страниците) на този виртуален възел (WEB сайт).
  • ServerName указва името на виртуалния хост, чрез който може да бъде достъпен. В този случай на http://www.mysite.ru/.
  • ServerAlias ​​​​съдържа псевдоними на име на виртуален хост. В този случай можете също да получите достъп до виртуалния хост с имената: http://www.site.ru/ и http://www.host2.ru/.
  • ErrorLog и CustomLog указва имената на регистрационните файлове на сървъра за този виртуален хост.

Контейнерите обикновено се поставят един след друг в края на файла httpd.conf.

файл httpd.conf. Настройка на виртуални хостове

ИмеVirtualHost 127.0.0.1:80

# Директиви за виртуален хост 1


# Директиви за виртуален хост 2


# Директиви за виртуален хост 3

Забележка

Apache трябва да се рестартира, за да влязат в сила промените, направени във файла httpd.conf.

За да имате достъп до виртуални хостове по име, те трябва да бъдат регистрирани в базата данни на DNS сървъра. Ако използвате Apache за тестване на файлове на локална машина, тогава имената на вашите виртуални възли трябва да бъдат записани във файла hosts. За Windows 2000 и XP той се намира в директорията C:WindowSystem32Driversets. Файлът hosts съдържа записи като:

Формат за запис на хостове

127.0.0.1 www.mysite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru

Инсталиране и конфигуриране на PHP

За да инсталирате PHP, трябва да създадете директория c:/php и да поставите в нея файловете от zip архива на разпространението. След това трябва да преименувате конфигурационния файл php.ini-dist на php.ini и да го копирате в директорията на Windows.

Инсталиране на PHP като модул

Инсталирането на PHP като модул подобрява леко производителността, тъй като PHP модулът се зарежда веднъж при стартиране на уеб сървъра

Коментирайте

При инсталиране на PHP като модул, настройките от php.ini се четат веднъж при стартиране на уеб сървъра. Следователно, когато правите промени в php.ini, трябва да рестартирате Apache, за да влязат в сила промените.

За да инсталирате PHP, отворете основния конфигурационен файл на Apache httpd.conf за редактиране и премахнете знаците за коментари от следните редове, като ги промените, ако е необходимо:

файл httpd.conf. Свързване на PHP като Apache модул


LoadModule php5_module c:/php/php5apache2.dll

Забележка

Инсталиране на PHP като CGI приложение

Когато инсталирате PHP като CGI приложение, PHP интерпретаторът ще се зарежда при всяко извикване на PHP скрипта. Поради това може да има известно влошаване на производителността. Ако PHP е инсталиран като CGI, тогава Apache не трябва да се рестартира, когато правите промени във файла php.ini, тъй като настройките се четат всеки път, когато PHP скриптът се изпълнява. Инсталирането на PHP като CGI прави промените в PHP конфигурацията малко по-бързи, тъй като не изисква рестартиране на WEB сървъра.

Забележка

Когато инсталирате PHP като CGI, някои хедъри ще спрат да работят; например няма да можете да оторизирате потребители, използващи PHP. Упълномощенията могат да бъдат реализирани само с помощта на самия Apache с помощта на .htaccess файлове.

За да инсталирате PHP, отворете главния конфигурационен файл httpd.conf за редактиране, намерете в него коментираните редове за свързване на PHP и ги променете, както следва:

файл httpd.conf. Свързване на PHP като CGI

AddType application/x-httpd-php phtml php

Опции ExecCGI

ScriptAlias ​​​​"/php_dir/" "c:/php/"
Приложение за действие/x-httpd-php "/php_dir/php-cgi.exe"

Забележка

Вместо директорията c:/php, заменете вашата директория с инсталиран PHP.

Конфигуриране на PHP (файл php.ini)

Тъй като най-вероятно ще сте заети да тествате вашите уеб приложения на вашата локална машина, трябва правилно да конфигурирате конфигурационния файл php.ini. Намерете директивата error_reporting и я задайте на следната стойност:

Тази стойност ще конфигурира PHP така, че когато се изпълняват PHP скриптове, всички грешки ще бъдат показани и "коментарите" ще бъдат игнорирани. Трябва също така да се уверите, че директивата display_errors е активирана:

Display_errors = Вкл

Ако тази директива е деактивирана (Изключена), тогава съобщенията за грешка няма да се показват в прозореца на браузъра и ако възникне грешка в кода, ще се чудите пред девствено бял прозорец какво би означавало това.
Също така е необходимо да се гарантира, че директивата variables_order има следното значение:

Variables_order = "EGPCS"

Буквите тук означават следното:
E - променливи на средата
G - променливи, предадени чрез метода GET (G)
P - променливи, прехвърлени чрез метода POST (P)
C - Бисквитки
S - сесии
Липсата на някоя от буквите ще ви попречи да работите със съответните променливи.

Следващата директива, която може да изисква конфигурация, е регистър_глобали. Ако тази директива е активирана

Register_globals = Вкл

тогава променливите, предавани от GET, POST, бисквитките и сесиите, могат да се използват в PHP скрипт, достъпвайки ги просто като обикновени променливи $someone.
Ако тази директива е деактивирана

Register_globals = Изкл

тогава такива променливи могат да бъдат достъпни само с помощта на суперглобални масиви ($_POST, $_GET и т.н.).
Директива регистър_дълги_масививи позволява да използвате суперглобални масиви в стария формат ("дълъг" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.н.)

Register_long_arrays = Вкл

Сега трябва да конфигурирате индексния файл. Ако въведете реда http://localhost/ в прозореца на браузъра, а не http://localhost/index.html. Сървърът все още ще предоставя index.html на браузъра, тъй като този файл е индексният файл и се търси първо в директорията, ако не е посочен конкретен файл. Сега трябва да конфигурирате http.conf, така че уеб сървърът на Apache да отговаря на файловете index.php по същия начин. За да направите това, намерете директивата DirectoryIndex в http.conf и я коригирайте, както следва:

DirectoryIndex index.html index.html.var index.php

След това трябва да рестартирате Apache сървъра и да създадете тестов PHP файл (index.php) в основната директория на виртуалния хост ("C:/www/scripts"):

phpinfo();
?>

Ако настройката е успешна, достъпът до http://localhost/index.php ще покаже лилава таблица с текущите PHP настройки, която се връща от функцията phpinfo().
Така конфигурирахме комбинация от Apache и PHP и можем да преминем към настройка на MySQL. Разопаковайте разпределението на MySQL във временна директория и стартирайте инсталатора. Можете да контролирате работата на MySQL сървъра по същия начин като Apache, като използвате конзолата за управление на услуги на Windows.

MySQL връзка

Подробен метод за свързване на разширението MySQL към PHP е описан в статията на връзката: .

Ако MySQL сървърът вече е инсталиран на вашата машина, следващата стъпка е да конфигурирате PHP да работи с MySQL бази данни.

Отворете файла php.ini от директорията на Windows за редактиране. За да свържете библиотеката с разширения MySQL, трябва да премахнете знака за коментар (точка и запетая) от реда:

Разширение=php_mysql.dll

Също така проверете стойността на директивата extension_dir

Extension_dir="c:/php-5.0/ext"

Трябва да сочи към директорията, където се съхраняват PHP разширенията. Препоръчително е да се изписват разделители на директории в UNIX формат (/) - обратна наклонена черта. Въпреки това, ако всичко друго се провали, просто върнете обратно стойността на директивата extension_dir и копирайте библиотеката php_mysql.dll в корена на C:/php-5.0/ - в повечето случаи това би трябвало да помогне.

Ако PHP е свързан към вас като модул, тогава трябва също да копирате библиотеката libmysql.dll от директорията с инсталиран PHP в системната директория C:/Windows/System32. За да влязат в сила промените, рестартирайте Apache.

За да проверите дали MySQL работи, рестартирайте сървъра на Apache и създайте тестов скрипт със следния код:

$dblocation = "127.0.0.1" ;
$dbname = "тест";
$dbuser = "root" ;
$dbpasswd = "" ;

$dbcnx = @mysql_connect ($dblocation, $dbuser, $dbpasswd);
ако (! $dbcnx)
{
ехо "

За съжаление mySQL сървърът не е наличен

" ;
изход();
}
ако (!@
mysql_select_db ($dbname, $dbcnx))
{
ехо "

За съжаление базата данни не е налична

"
;
изход();
}
$ver = mysql_query("ИЗБЕРЕТЕ ВЕРСИЯ()");
ако (!$ver)
{
ехо "

Грешка в заявката

"
;
изход();
}
ехо
mysql_result($ver, 0);
?>

Ако MySQL е интегриран успешно в комбинацията Apache и PHP, достъпът до тестовия скрипт ще покаже версията на MySQL сървъра в прозореца на браузъра.

В новите версии на MySQL (започвайки от 4.1.0), начинът, по който се обработват националните набори от символи, е променен, така че старият код може да доведе до появата на въпросителни знаци "????????" в таблицата на базата данни. вместо руски текст. За да предотвратите това да се случи в началото на PHP скрипта, след установяване на връзка с базата данни, трябва да поставите следните редове:

mysql_query( "set character_set_client="cp1251"");
mysql_query( "set character_set_results="cp1251"");
mysql_query( "set collation_connection="cp1251_general_ci"");
?>

Инсталиране на PHP разширения

И накрая, може да се наложи да конфигурирате някои PHP разширения; те се конфигурират по същия начин като MySQL.

И така, за да свържете графичната библиотека GDLib в php.ini, трябва да разкоментирате реда:

Разширение=php_gd2.dll

След това проверете наличието на тази библиотека в папката c:phpext. След като направите промени в php.ini, рестартирайте сървъра. За да проверите бързо дали библиотеката е свързана, стартирайте функцията phpinfo(). Ако всичко е наред, тогава в таблицата, която се показва от функцията phpinfo(), секцията " gd

Ако използвате остарялото име на php.exe, използвано в по-ранни версии, вместо php-cgi.exe, грешката може също да се появи:

403 Забранено Нямате разрешение за достъп до /__php_dir__/php.exe/test.php на този сървър

HTML файловете се изпълняват, но PHP скриптовете не

Ако PHP връзката не е конфигурирана, при достъп до файлове с разширение php, например: http:/localohost/index.php, се отваря прозорец с искане за изтегляне на такъв файл. Това показва, че обработката на файлове с разширение php не е конфигурирана. Проверете файла httpd.conf за съществуването на следния ред:

AddType application/x-httpd-php phtml php

Забележка: Недефинирана променлива...

На нов, наскоро инсталиран PHP, често можете да видите съобщения като:

Забележка: Недефинирана променлива: msg в C:/Main/addrec.php на ред 7

Error_reporting = E_ALL & ~E_NOTICE

MySQL няма да се свърже

Понякога има проблеми с инсталирането на MySQL. Трябва да проверявате дали MySQL стартира като услуга при всяко стартиране на системата. За да направите това, отворете конзолата за услуги:

Старт | Настройка | Контролен панел | Администрация | Услуги

намери MySQL там - стартирай го. За да накарате сървъра да стартира всеки път, когато системата се зарежда, щракнете с десния бутон върху услугата и изберете „Properties“ - в падащия списък „Startup type“, който се отваря, изберете „Auto“.

Ако при стартиране на Apache и достъп до скриптове се появи съобщение, което показва, че библиотеката php_mysql.dll не може да бъде заредена.

Стартиране на PHP: Не може да се зареди динамична библиотека c:/php/ext/php_mysql.dll
- посоченият модул не е намерен

След това отново проверете инструкциите от раздела, който описва свързването към PHP библиотеки за работа с MySQL. Използвате ли „правилната“ версия на файла php_mysql.dll (точно за версията на PHP, която е инсталирана в системата)?
Версиите на файла php_mysql.dll се различават за различните версии на PHP, въпреки че имат едно и също име.

  • Използване на разделители на директории на Windows (наклонена черта): c:apache/bin. За надеждна работа трябва да използвате UNIX разделители (наклонена черта), например: c:/apache/bin.
  • Наличието на няколко конфигурационни файла php.ini на машината или липсата на такъв файл. Необходимият файл php.ini трябва да се намира в директорията на Windows. Търсете в устройствата на вашия компютър, намерете всички ненужни версии на файлове и ги изтрийте.
  • Можете да зададете всякакви въпроси, които може да имате относно инсталирането на комбинацията Apache+PHP+MySQL в нашия форум, посветен на инсталиране и конфигуриране на Apache, PHP и библиотеки с разширения.



    Свързани публикации