2

PHP集成运行环境XAMPP

 3 years ago
source link: https://www.biaodianfu.com/xampp.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

PHP已经没有像当年个人网站蓬勃发展是那么火热,但期间留下来的很多开源的程序还是有非常高的学习和使用价值,比如这个博客正在使用的WordPress。在研究PHP代码的过程中需要部署PHP的运行环境,比较简单的方法是使用集成运行环境。

PHP集成运行环境

PHP集成运行环境顾名思义就是集成了运行PHP所需的软件,比如PHP程序解释器、服务器(Apache/Nginx)、数据库(MySQL/MariaDB)、数据库管理软件(PhpMyAdmin)等,并且提供了方便的启动、配置等界面。

推荐软件:

  • XAMPP:Apache + MariaDB + PHP + Perl + PhpMyAdmin,支持Windows、Linux、Mac OS
  • Wnmp:Nginx + MariaDB + PHP + phpMyAdmin,仅支持Windows

由于Apache的性能没有Nginx的好,线上的服务器基本上都是使用Nginx,当前比较推荐Wnmp。由于自己先前一直使用的是XAMPP,已经比较熟悉,所以暂时没有调整。

XAMPP常用配置

设置MySQL密码

安装完XAMPP后,MySQL的默认账号为root,密码为空,非常的不安全,解决办法是给MySQL设置密码。具体操作不走如下:

  • 使用里游览器打开 http://localhost/phpmyadmin,进入后点击“用户”
  • 点击用户为root,主机为localhost的编辑权限。
  • 在弹出层中设置密码,然后点执行即可,如下图~

当以上操作都结束之后,MySQL的密码已经修改过来了。但是当再次点击 phpMyAdmin时却发现无法再登录了。

返回的提示为:无法连接:无效的设置。phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。您应该检查配置文件中的主机、用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致。

问题原因为phpMyAdmin的配置文件中需要配置MySQL的密码,当MySQL密码被修改后需要手动的去修改phpMyAdmin的配置文件。

即修改xampp/phpMyAdmin/config.inc.php文件,找到$cfg[‘Servers’][$i][‘password’] =”,并将对应的密码设置为你新设置的密码即可。

多域名/多站点部署

XAMPP默认安装完毕后,站点文件默认放在/xampp/htdocs/ 文件下,并且可以通过http://localhost 进行访问。先前在测试各种程序的时候均是在/xampp/htdocs/ 文件下新建目录,比如/xampp/htdocs/wordpress ,然后通过http://localhost/wordpress/ 进行访问。

如果目前有测试三个程序的需求(wordpress,discuz,phpwind),期望给每个程序都单独的分配一个域名。比如

  • wordpress -> www.wordpress-test.com
  • discuz -> www.discuz-test.com
  • phpwind -> www.phpwind-test.com

以下为具体解决方法:

修改hosts文件

不管你是否拥有上述域名,如果想通过域名访问自己建立的站点,这需要先对host文件进行修改。打开C:\Windows\System32\Drivers\etc目录下的 hosts 文件,加入如下三行:

127.0.0.1 www.wordpress-test.com
127.0.0.1 www.discuz-test.com
127.0.0.1 www.phpwind-test.com
127.0.0.1  www.wordpress-test.com
127.0.0.1  www.discuz-test.com
127.0.0.1  www.phpwind-test.com

添加完毕后,保存即可若遇到hosts文件无法修改的解决办法是,先把hosts文件复制到桌面,在桌面改好后再复制到 etc 文件夹下进行替换旧的hosts文件。

修改Apache虚拟主机的配置

在虚拟主机设置文件xampp\apache\conf\extra\httpd-vhosts.conf里设置:

删除 NameVirtualHost *:80 前面的 ##,即删除注释来启用httpd-vhosts.conf里的配置。

在文件最后追加以下内容:

<VirtualHost *:80>
DocumentRoot /xampp/htdocs/wordpress
ServerName www.wordpress-test.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/discuz
ServerName www.discuz-test.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/phpwind
ServerName www.phpwind-test.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/wordpress
    ServerName www.wordpress-test.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/discuz
    ServerName www.discuz-test.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/phpwind
    ServerName www.phpwind-test.com
</VirtualHost>

设置完毕后,保存并重启apache就可以通过www.wordpress-test.com直接访问/xampp/htdocs/wordpress下的内容了。

让localhost再次生效

做完了上述操作后,发现使用localhost直接定位到了/xampp/htdocs/wordpress下的内容了,而我期望的是还是定位到/xampp/htdocs/的内容。也就是默认的httpd的设置失效了。解决防范就是把localhost的配置在httpd-vhosts.conf里配置回来。

再在文件的最后添加上如下内容,并重启Apache。

<VirtualHost *:80>
DocumentRoot /xampp/htdocs/
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/
    ServerName localhost
</VirtualHost>

至此,XAMPP 的虚拟主机设置完毕,现在 访问 localhost 还是原来的 XAMPP 的内容,访问 www.wordpress-test.com 将指向到绑定的 wordpress 目录,访问 www.discuz-test.com 将指向到绑定的discuz 目录…

更换程序默认目录

如果我不想把测试的程序放到/xampp/htdocs/目录下,比如说我想放在D:\website\目录下,该如何解决呢?要实现此功能共有2种方法:

1、修改httpd-vhosts.conf文件中配置

原配置如下:

<VirtualHost *:80>
DocumentRoot /xampp/htdocs/wordpress
ServerName www.wordpress-test.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/wordpress
    ServerName www.wordpress-test.com
</VirtualHost>

需要修改为:

<VirtualHost *:80>
DocumentRoot D:\website\wordpress
ServerName www.wordpress-test.com
<Directory D:\website\wordpress>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot D:\website\wordpress
    ServerName www.wordpress-test.com
    <Directory D:\website\wordpress>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

即新增一个Directory节点来允许目录可访问。注意:D:\wordpress\wordpress 文件夹的最后不需要再加”\”。

2、修改httpd.conf文件中的配置

打开E:\xampp\apache\conf目录下的httpd.conf文件。找到DocumentRoot所在行。将DocumentRoot “D:/xampp/htdocs”,修改为D:/website,找到<Directory “D:/xampp/htdocs”> 修改为 <Directory “D:/website”> ,保存后重启Apache即可~ 注意这里要用 “/”,而不是“\”。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK