php - 你如何通过 PHP 执行虚拟主机?

标签 php linux apache command-line virtualhost

我正在创建一个网站,每个用户都可以在我的服务器上指向他们域的 A 记录,我将为他们提供他们的网页。我知道如何通过 Linux 命令行执行此操作,但我不确定如何在脚本中执行此操作。我知道 mkdir(/*file location*/) 执行 mkdir 命令。我也知道 fopen。我的方法是http://www.rackspace.com/knowledge_center/index.php/Ubuntu_-_Apache_Virtual_Hosts .我不太确定如何通过 PHP 脚本创建自定义虚拟主机等。

有什么办法吗?

最佳答案

听起来好像您希望使用 php 脚本更改 Apache 配置文件。这样做有点危险,因为您总是冒着以阻止 Apache 重新启动的方式错误配置 Apache 配置文件的风险,但我认为这对您来说是显而易见的。

我建议您使用 include directive到一个目录,您将在其中添加和删除每个虚拟主机的单个 conf 文件。

Include conf/vhosts/*.conf

(include 指令中的路径是相对于 ServerRoot 的。)这样您可以使事情更有条理并减少竞争条件的可能性。

此外,您可能应该在脚本中编写一些代码来检查运行 apachectl configtest 的输出。命令:

$ /usr/sbin/apachectl -t
Syntax OK

通过各种 PHP 之一执行它 shell/"Program" execution functions如果有错误,请还原您刚刚更改的 conf 文件。

如果你喜欢fopen,那么使用它,但很多人会找到file_get_contentsfile_put_contents功能更易于使用。

希望这对您有所帮助。

关于php - 你如何通过 PHP 执行虚拟主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170701/

相关文章:

mysql - 处理动态图像缩略图大小调整的最佳方法是什么?

ruby-on-rails - Web 服务器范例的差异(Apache 与反向代理 + Web 服务器)

PHP/Javascript 验证计算

javascript - 允许用户提交的 JS 在不影响安全性的情况下执行

php - 给初学者的 REST API 建议

php - 如何使用 php 启用 Linux 支持用户一定数量的小时

linux - procfs是如何创建的?

c - fork() 会创建别名吗?

javascript - Google Recaptcha 和禁用输入

apache - apache重写规则可以放在httpd.conf中吗