ホームページ  >  記事  >  バックエンド開発  >  Windows+Apacheでphp開発環境を構築

Windows+Apacheでphp開発環境を構築

伊谢尔伦
伊谢尔伦オリジナル
2016-11-24 14:22:091249ブラウズ

ステップ 1: インストール ファイルをダウンロードします

1. Apache バージョン httpd-2.2.21-win32-x86-no_ssl.msi
2. MySQL バージョン mysql-5.5.19-win32.msi
3。 5-Win32-VC6-x86.zip
4. phpMyadmin バージョン phpMyAdmin-3.4.9-all-langages.zip

ヒント:
1. 開発を完了するには、SSL 機能なしの Apache バージョンを選択することをお勧めします。ここでは Apache 2.2.21-win32-x86-no-ssl.msi を使用します。
2. Windows に MySQL をインストールするには、.msi インストール パッケージ形式を選択します。ダブルクリックしてウィザードに従ってインストールするだけです。
3. PHP の場合、Windows .zip バージョン、php-5.3.5-Win32-VC6-x86.zip を使用することを選択します。セキュリティとパフォーマンスの観点からは、zip バージョンの方が優れており、通常はこのバージョンがサーバーにインストールされます。
VC9 は IIS 用に特別にカスタマイズされているのに対し、VC6 は Apache またはその他の WEB サービス ソフトウェア用に提供されているため、NTS バージョンまたは VC9 バージョンをダウンロードしないでください。
4. phpMyAdmin は PHP ベースのオンライン MySQL 管理ツールです。phpMyAdmin3 をインストールする場合、必要な PHP 環境はすべてここでの要件を満たしています。

ステップ 2: ファイルをインストールします

1. インストールするディスク上にフォルダーを作成します。管理しやすいように、DドライブのルートディレクトリにWAMPフォルダを作成します。 D:WAMP (WAMP は Windows+Apache+mysql+php の略称です)。
2. WAMP フォルダーの下に WWW フォルダーを作成し、PHP Web サイト プログラムを保存します。 D:WAMPWWW。
3. Apache サーバーをインストールし、Apache サーバーを D:WAMPApache フォルダーにインストールします。特定の Apache インストール プロセスについては、ドキュメント「Apache インストール図」を参照してください。
4. ダウンロードした php-5.3.5-Win32-VC6-x86 を D:WAMPPHP フォルダーに解凍します。
5. MySql データベースをインストールし、MySQL を D:WAMPMySQL フォルダーにインストールします。特定の MySQL インストール プロセスについては、ドキュメント「MySQL インストール図」を参照してください。
6. phpMyAdmin-3.4.9-all-langages.zip を解凍し、名前を phpMyAdmin に変更して、PHP Web サイトのプログラム ディレクトリにコピーします。結果は D:WAMPWWWphpMyAdmin です。

ステップ 3: Apache を構成する

まず、テキスト編集ツール (EditPlus を推奨) を使用して、D:WAMPApacheconfhttpd.conf ファイルを開きます。このファイルは、Apache の構成ファイルです。次の手順で、このファイルの内容を変更します。 。
httpd.conf ファイルを変更した後、新しい設定を有効にするために Apache サービスを再起動する必要があることに注意してください。

1. リスニング ポートを設定します

httpd.conf ファイルを開いた後、Listen (約 46 行目) を見つけ、その後ろの番号を 8080 に変更します:

 Listen 8080

このパラメータは、リスニング ポートを設定するために使用されます。 Apache サーバー、通常のデフォルトは 80 です。 8080 に変更する理由は、Windows 2003 システムの IIS ポート番号との競合を避けるためです。IIS を有効にしない場合は、デフォルトのポート番号 80 を使用することもできます。

2. Apache に PHP モジュールをロードさせます

#LoadModule vhost_alias_module modules/mod_vhost_alias.so (約 128 行目) を見つけて、この行の後に次の内容を追加します:

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」
この文は、PHP5 モジュールをモジュール モードでロードすることを意味します。
AddType application/x-httpd-php .php
この文は、拡張子が .php のファイルを php スクリプトとして実行することを意味します。 .html、.php5、または PHP の .txt など、他の任意の拡張子を使用できます。
PHPIniDir "D:/WAMP/PHP"
この文は、PHP 設定ファイル php.ini が配置されているディレクトリを指定するために使用されます。
Apache 2 がモジュール モードで php5 を実行している場合は、PHPIniDir ディレクティブを使用できます。

3. Web サイトの保存ディレクトリを変更する

Apache のデフォルトの Web サイト保存ディレクトリは、Apache インストール ディレクトリの下の htdocs フォルダーであることがわかっています。 Web サイトのストレージ ディレクトリを変更する場合は、対応する Apache 構成を変更する必要があります。
設定ファイル httpd.conf で DocumentRoot (約 182 行目) を探し、Web サイトのディレクトリ内の正しいフォルダーを指すように変更します。ここを

DocumentRoot "D:/WAMP/www"

に変更しました。同時に、This should be Change to anything you set DocumentRoot (約 207 行目) を探し、その下に 4cffacf2733cc31369199c7aefaf1664 という行があるので、独自に設定したものに変更します。ドキュメントルートのパス。ここでは、次のように変更しました:

<Directory "D:/WAMP/www">

4. ディレクトリ ホームページ ファイルを変更します

設定ファイル httpd.conf で DirectoryIndexindex.html (約 244 行目) を見つけて、次のように変更します。

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
df024e60d2c6fc8981a418f34ab83fde
/>
" pHP l $ link = MySQL_CONNECT ("LocalHost", "MySQL 管理アカウント", "MySQL管理パスワード");
if (! $ Link) Echo "MySQL データベース接続に失敗しました!"; 接続に成功しました!";
lt;?php phpinfo(); ?>
36cc49f0c466276486e50c850b7e4956


次に、ブラウザのアドレスバーに「http://localhost:8080/index.php」と入力します。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。