假设我有一个本地 apache2,我需要一个脚本来运行带有特殊注入的 VirtualHost 的 apache2。
更精确:
我在 Windows 10 上安装了 xampp(PHP 7.3.10、MariaDB 10.4.8、mysqlnd 5.0.12-dev、Apache 2.4.41)。
几个 PHP 项目位于整个硬盘驱动器上。到目前为止,我./apache/conf/extra/httpd-vhosts.conf在每个项目切换上启动 apache2 服务之前修改了文件。有了它,我可以将项目文件夹留在原处,而无需将它们复制到 xampp 安装文件夹中。
现在我很好奇我是否可以为每个项目(bat 或 sh,安装了 GitShell)编写一个脚本,该脚本将正常运行 mariadb 和 apache2,该特定项目文件夹的临时 VirtualHost 作为 DocumentRoot。
我目前可以做的:在项目文件夹中
放置一个httpd-vhosts.conf文件和一个startProject.sh脚本。运行脚本会复制xampp安装中的配置文件,然后启动apache2服务。
这是可行的,但只能启动一个 apache2 进程,而不能同时启动多个项目。
我想要的:
我想在启动apache2时使用一个参数来指定一个VirtualHost。
也许通过说 apache2 使用特殊的配置文件而不是自己的项目结构中的文件。
或者我想通过启动 apache2 进程来使用一个参数,该进程为已指定的 VirtualHost 指定一个备用 DocumentRoot 文件夹。
目前这是我的方法:
#!\bin\bash
BASEDIR=$(dirname "$0")
xamppPath="C:\xampp\v7.3.10"
cd $xamppPath
"apache\bin\httpd.exe" -S "$BASEDIR\httpd-vhosts.conf" &
但-S只打印出 VirtualHosts,而不是设置配置文件。
如何在不覆盖 xampp 安装文件夹中现有配置文件的情况下,在硬盘驱动器某处使用脚本运行项目?
DIEA
慕标琳琳