Heim  >  Artikel  >  Backend-Entwicklung  >  Windows+Apache erstellt eine PHP-Entwicklungsumgebung

Windows+Apache erstellt eine PHP-Entwicklungsumgebung

伊谢尔伦
伊谢尔伦Original
2016-11-24 14:22:091252Durchsuche

Schritt 1: Laden Sie die Installationsdatei herunter

1. Apache-Version httpd-2.2.21-win32-x86-no_ssl.msi
2. MySQL-Version mysql-5.5.19-win32.msi
3. PHP-Version php-5.3.5-Win32-VC6-x86.zip
4. phpMyadmin-Version phpMyAdmin-3.4.9-all-linguals.zip

Tipps:
1 . Um die Entwicklung abzuschließen, wird empfohlen, eine Apache-Version ohne SSL-Funktion auszuwählen. Daher verwenden wir hier Apache 2.2.21-win32-x86-no ssl.msi.
2. Um MySQL unter Windows zu installieren, wählen Sie einfach mysql-5.5.19-win32.msi und folgen Sie dem Assistenten.
3. Für PHP entscheiden wir uns für die Windows-.zip-Version, php-5.3.5-Win32-VC6-x86.zip. In Bezug auf Sicherheit und Leistung ist die Zip-Version besser und wird in der Regel auf Servern installiert.
Laden Sie nicht die NTS-Version oder die VC9-Version herunter, da VC9 speziell für IIS angepasst ist, während VC6 für Apache oder andere WEB-Dienstsoftware bereitgestellt wird.
4. phpMyAdmin ist ein Online-MySQL-Verwaltungstool, das auf PHP basiert. Bei der Installation von phpMyAdmin3 ist mindestens PHP5.2 und MySQL5 oder höher erforderlich, was hier alle Anforderungen erfüllt.

Schritt 2: Installationsdateien

1. Erstellen Sie einen Ordner auf der Festplatte, der installiert werden soll. Zur Vereinfachung der Verwaltung erstellen wir einen WAMP-Ordner im Stammverzeichnis des Laufwerks D. D:WAMP (WAMP ist die Abkürzung für Windows+Apache+MySQL+PHP).
2. Erstellen Sie einen WWW-Ordner unter dem WAMP-Ordner, um Ihr PHP-Website-Programm zu speichern. D:WAMPWWW.
3. Installieren Sie den Apache-Server und installieren Sie den Apache-Server im Ordner D:WAMPApache. Informationen zum spezifischen Apache-Installationsprozess finden Sie im Dokument Apache-Installationsdiagramm.
4. Entpacken Sie das heruntergeladene php-5.3.5-Win32-VC6-x86 in den Ordner D:WAMPPHP.
5. Installieren Sie die MySql-Datenbank und installieren Sie MySQL im Ordner D:WAMPMySQL. Informationen zum spezifischen MySQL-Installationsprozess finden Sie im Dokument MySQL-Installationsdiagramm.
6. Entpacken Sie phpMyAdmin-3.4.9-all-Language.zip, benennen Sie es dann in phpMyAdmin um und kopieren Sie es in das Programmverzeichnis der PHP-Website. Das Ergebnis ist D:WAMPWWWphpMyAdmin.

Schritt 3: Apache konfigurieren

Verwenden Sie zunächst ein Textbearbeitungstool (EditPlus wird empfohlen), um die Datei D:WAMPApacheconfhttpd.conf zu öffnen. Die folgenden Schritte sind um den Inhalt dieser Datei zu ändern.
Es ist zu beachten, dass Sie nach der Änderung der Datei httpd.conf den Apache-Dienst neu starten müssen, damit die neuen Einstellungen wirksam werden.

1. Stellen Sie den Listening-Port ein

Nachdem Sie die Datei httpd.conf geöffnet haben, suchen Sie Listen (wahrscheinlich in Zeile 46) und ändern Sie die Nummer danach wie folgt in 8080:

 Listen 8080

Mit diesem Parameter wird der Überwachungsport des Apache-Servers festgelegt. Der Standardwert ist 80. Der Grund für die Änderung auf 8080 besteht darin, einen Konflikt mit der IIS-Portnummer des Windows 2003-Systems zu vermeiden. Wenn Sie IIS nicht aktivieren, können Sie auch die Standardportnummer 80 verwenden.

2. Lassen Sie Apache das PHP-Modul laden

Suchen Sie #LoadModule vhost_alias_modules/mod_vhost_alias.so (ungefähr Zeile 128) und fügen Sie nach dieser Zeile den folgenden Inhalt hinzu:

LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/WAMP/PHP"

LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"
Dieser Satz bedeutet, das PHP5-Modul im Modulmodus zu laden.
AddType application/x-httpd-php .php
Dieser Satz bedeutet, die Datei mit der Erweiterung .php als PHP-Skript auszuführen. Sie können jede beliebige andere Erweiterung verwenden, z. B. .html, .php5 oder sogar .txt für PHP.
PHPIniDir "D:/WAMP/PHP"
Mit diesem Satz wird das Verzeichnis angegeben, in dem sich die PHP-Konfigurationsdatei php.ini befindet.
Wenn Apache 2 PHP5 im Modulmodus ausführt, können Sie die PHPIniDir-Direktive verwenden.

3. Ändern Sie das Website-Speicherverzeichnis

Wir wissen, dass das Standard-Website-Speicherverzeichnis von Apache der Ordner htdocs im Apache-Installationsverzeichnis ist. Wenn Sie das Website-Speicherverzeichnis ändern, müssen Sie die entsprechende Apache-Konfiguration ändern.
Suchen Sie in der Konfigurationsdatei httpd.conf nach DocumentRoot (ca. Zeile 182) und ändern Sie es so, dass es auf den richtigen Ordner im Website-Verzeichnis verweist. Wir haben es hier in

DocumentRoot "D:/WAMP/www"

geändert. Suchen Sie gleichzeitig nach „This should be changes to what you set DocumentRoot to“ (etwa Zeile 207). Darunter befindet sich die Zeile 4cffacf2733cc31369199c7aefaf1664, Ändern Sie es. Konfigurieren Sie den DocumentRoot-Pfad selbst. Wir haben es hier wie folgt geändert:

<Directory "D:/WAMP/www">

4. Ändern Sie die Verzeichnis-Homepage-Datei

Suchen Sie DirectoryIndex index.html (ca. Zeile 244) in der Konfigurationsdatei httpd.conf und ändern Sie sie in :

DirectoryIndex index.html index.htm index.php

DirectoryIndex 指的是当客户浏览器访问的路径是一个目录时,Apache默认执行的文件。
以我们所修改的为例:当客户浏览器访问一个目录时,Apache会去找该目录下的index.html,如果没有再找index.htm,还没有再找 index.php。都找不到则默认显示该目录下的文件列表。参考文档:如果防止Apache显示文件列表

第四步:配置PHP

打开PHP安装目录,即D:\WAMP\PHP,我们可以看到目录下有两个这样的文件 php.ini-development 和 php.ini-production,第一个是开发使用的配置文件,第二个是生产环境的配置,因为我们是在本机做开发,所以选择前者。将php.ini-development复制一份到同目录下,并改名为 php.ini。这个php.ini 就是当前使用的配置文件,以下几步都是在修改这个php.ini文件的内容。要注意的是,修改php.ini文件后需重新启动Apache服务,新设置才会生效。

1. 指定PHP扩展库的存放目录

在Windows下PHP的扩展库通常以 DLL 形式存放在PHP的ext目录中。
使用文本工具打开php.ini文件,查找extension_dir = "ext"(大概在809行),也就是在 On windows 下面那一行。把它前面的分号“;”去除掉,改为如下:

 extension_dir = "D:/WAMP/PHP/ext"

extension_dir 表示PHP扩展库的具体目录,以便调用相应的DLL文件。

2. 开启相应的扩展库

默认情况下许多PHP的扩展库都是关闭的,比如默认PHP不支持连接Mysql数据库,需开启相应的扩展库。
这里我们开启一些常用的扩展库。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到如下扩展:

           ;extension=php_curl.dll
        ;extension=php_gd2.dll
        ;extension=php_mbstring.dll
        ;extension=php_exif.dll
        ;extension=php_mysql.dll
        ;extension=php_mysqli.dll
        ;extension=php_pdo_mysql.dll
        ;extension=php_pdo_odbc.dll
        ;extension=php_sockets.dll
        ;extension=php_xmlrpc.dll
        ;extension=php_xsl.dll

把以上extension 前面的分号 “;” 去掉。如果你希望加载其它扩展模块,方法相同,只要去掉前面的分号即可。
提示1:重启Apache提示 “unable to load dynamic library......php_curl.dll”,加载php_curl.dll错误。解决方法是拷贝 PHP 目录下的 libeay32.dll 和 ssleay32.dll 到 windows 目录或 windows/system32 目录下,只要是系统 Path 环境变量里包含的路径就可以。如果不想拷贝,你也可以直接把 PHP 路径放到系统 Path 环境变量里。 右击我的电脑=>属性=>高级=>环境变量=>系统变量里有个Path,双击打开,把你的PHP路径加个分号“;”再前面( ;D:\WAMP\PHP ),添加进去就OK了。重启Apache不再提示该错误。
提示2:Exif 扩展是用来显示图片的 exif 信息的,因为该扩展需要 mbstring.dll 支持,所以必须将 extension=php_exif.dll 这一行写到extension=php_mbstring.dll 的后面。
提示3:如果PHP自带的扩展库不能满足你的需要,你可以去 pecl.php.net 查找并下载你需要的库。windows用户可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下载已经编译好的DLL文件,也可以去http://museum.php.net/php5/ 载PECL集合压缩包。
提示4:很多人在找php_zip.dll,其实从php5.3开始已经集成了zip扩展,直接使用就行了。你可以用e19378ad842b694e1b5442cf4ce21ead 找到zip扩展的说明。

3. 让PHP支持短标签

在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 让其支持短标签。
php的代码一般包含在79184d89c68e7248f3e40700b013c63b的标签内,设置 short_open_tag = On 之后,可以写成更简洁的形式:46eda650838d8b66cc68279407ec1898。

4. 配置PHP的Session功能

在使用session功能时,我们必须配置session文件在服务器上的保存目录。我们需要为session建立一个可读写的目录,这个目录最好独立于网站目录之外。
这里把目录上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分号“;” ,改为如下:

session.save_path = "D:/WAMP/sessiontmp"

5. 配置PHP的文件上传功能

同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败。
我们建立一个可读写的目录文件夹 D:\WAMP\fileuploadtmp,然后在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改为:

upload_tmp_dir = "D:/WAMP/fileuploadtmp"

PHP默认上传文件大小不超过2M,要想上传大于2M的文件,请参考文档  配置php.ini实现文件上传功能。

6. 设置时区

在 php.ini 配置文件查找 ;date.timezone = (大概在993行),去掉前面的分号“;” 改为如下:

date.timezone = PRC

date.timezone是PHP5.1开始新增加的配置参数,用来设置时区。默认date.timezone是被注释掉的,也就是默认时区是UTC格林威治标准时间。
我们这里改为 date.timezone = PRC(PRC,People’s Republic of China,中华人民共和国),也就是日期使用中国的时区。这样可以解决时间相差八小时的问题。

第五步:配置phpMyAdmin

打开phpMyAdmin目录,即D:\WAMP\WWW\phpMyAdmin,我们可以看到目录下有一个config.sample.inc.php 文件,将这个文件复制一份到同目录下,并改名为 config.inc.php。这个config.inc.php 就是phpMyAdmin的配置文件,以下几步都是在修改这个config.inc.php 文件的内容。

1. 设置phpMyAdmin登录方式

打开config.inc.php文件,查找 $cfg['Servers'][$i]['auth_type'] ,设置如下:

   $cfg[&#39;Servers&#39;][$i][&#39;auth_type&#39;] = &#39;cookie&#39;;

这个参数的值设置为cookie,每次登录phpMyAdmin需要输入用户名密码。这也是phpMyAdmin的默认设置。

然后找到  $cfg['blowfish_secret'],设置如下:

$cfg[&#39;blowfish_secret&#39;] = &#39;admin10000.com&#39;;

此参数用于Cookies的加密,这是设置为admin10000.com,你可以改成自己的密码。

这里介绍一下phpMyAdmin 的四种登录方式:
cookie:这是phpMyAdmin配置默认的登录方式。需在登录界面输入MySQL的管理账号和密码。
           当选择cookie登录方式,还需要设置短语密码 $cfg['blowfish_secret'] ,这个密码用于Cookies的加密。
           例如:$cfg['blowfish_secret'] = 'admin10000.com';
           如果没有设置,登录phpMyAdmin会提示 “配置文件现在需要一个短语密码” 的错误。
config:直接在地浏览器地址栏输入phpMyAdmin登录地址即可登录,任何人都可以访问。用户名和密码提前在配置文件中设定好。
           此登录方式必须在配置文件中增加下面2行参数:
           $cfg['Servers'][$i]['user'] = '你的MySQL登录账号';
           $cfg['Servers'][$i]['password'] = '你的MySQL登陆密码;
           如果只是在本机器做开发,可以设置为config登录方式,省去每次输入密码的麻烦。
http:弹出一个对话框,输入用户名和密码后进入。
signon:类似于页面跳转的登录方式,同时需要设定$cfg['Servers'][$i]['SignonURL'],当你输入phpMyAdmin登录地址后会自动跳转到signonURL设定的网址。

2. 开启phpMyAdmin 高级功能

登录phpMyAdmin 后,在首页面的最下方会提示:“phpMyAdmin 高级功能未全部设置,部分功能不可用”。
现在我们来解决这个问题。使用phpMyAdmin的导入功能,导入phpMyAdmin/scripts/create_tables.sql 这个文件,从而建立必要的数据表。
接下来还需要新建一个MySQL用户,并授予其访问上一步操作建立的数据表的权限,这个MYSQL用户称为控制用户,为 phpMyAdmin 高级功能提供支持。
我们这里使用 pma 作为控制用户以及 pmapass 作为控制用户的密码。你可以自行更改。
在phpMyAdmin的SQL查询功能框中输入以下SQL代码:

  GRANT USAGE ON mysql.* TO &#39;pma&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;pmapass&#39;;
    GRANT SELECT (
        Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
        Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
        File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
        Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
        Execute_priv, Repl_slave_priv, Repl_client_priv
        ) ON mysql.user TO &#39;pma&#39;@&#39;localhost&#39;;
    GRANT SELECT ON mysql.db TO &#39;pma&#39;@&#39;localhost&#39;;
    GRANT SELECT ON mysql.host TO &#39;pma&#39;@&#39;localhost&#39;;
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
        ON mysql.tables_priv TO &#39;pma&#39;@&#39;localhost&#39;;

接着我们在 config.inc.php 中找到 User used to manipulate with storage 这一行。把它下面的2行参数注释(双斜杠“//”)去掉。结果为:

 $cfg[&#39;Servers&#39;][$i][&#39;controluser&#39;] = &#39;pma&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;controlpass&#39;] = &#39;pmapass&#39;;

这两行分别是控制用户和控制用户密码。也就是上边我们创建的那个用户。

接着找到 Storage database and tables 这一行,把下面的几个参数的注释去掉。结果为:

   $cfg[&#39;Servers&#39;][$i][&#39;pmadb&#39;] = &#39;phpmyadmin&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;bookmarktable&#39;] = &#39;pma_bookmark&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;relation&#39;] = &#39;pma_relation&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;table_info&#39;] = &#39;pma_table_info&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;table_coords&#39;] = &#39;pma_table_coords&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;pdf_pages&#39;] = &#39;pma_pdf_pages&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;column_info&#39;] = &#39;pma_column_info&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;history&#39;] = &#39;pma_history&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;tracking&#39;] = &#39;pma_tracking&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;designer_coords&#39;] = &#39;pma_designer_coords&#39;;
        $cfg[&#39;Servers&#39;][$i][&#39;userconfig&#39;] = &#39;pma_userconfig&#39;;

第六步:测试

将如下代码保存为index.php文件,放到D:\WAMP\WWW目录下面。

82e4865872727f41d1edae4f463247d6
68ccb177a5de0ef9542dde7d35bae727
                                     /html; charset=utf-8" />
                                                                                                                                                   text-align:center color: rot">
                                                                                                                   > if(!$link) echo „MySQL-Datenbankverbindung fehlgeschlagen!“;
else echo „MySQL-Datenbankverbindung erfolgreich!“;
mysql_close();
?>
          16b28748ea4df4d9c2150843fecfba68
                                                         080/index.php“ in der Adressleiste des Browsers.



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PDO-Singleton-ModellNächster Artikel:PDO-Singleton-Modell