PHP 未在特定目录上运行

PHP 未在特定目录上运行

好的。这是一个非常奇怪的错误:

hello在 处创建了一个名为 ' '的文件夹/etc/apache2/sites-enabled/,其中包含 hello.php。然后我创建了一个别名,告诉它/hello会转到/etc/apache2/sites-enabled/hello。这成功了。

然后我尝试创建一个 VHost,它也能正常工作:

Alias /hello /etc/apache2/sites-enabled/hello
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/etc/apache2/sites-enabled/hello"
    ServerName comercial.YYYY.com
    ServerAlias ot.YYYY.com
    AddType application/x-httpd-php .php3 .php
    AddType application/x-httpd-php-source .phps
    <Directory /etc/apache2/sites-enabled/hello/>
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

但后来我读到这sites-enabled/只是为了里面的一个符号链接,sites-available所以我mv sites-*e/hello sites-available/hello就做了a2ensite hello,然后一切都乱套了。

之前,PHP 运行良好,而且“hello”运行得相当好 - 现在就像没有 PHP 一样。PHP 运行良好,因为它是我拥有的本地文件的副本。没有出现任何错误。任何地方。我试过了,/var/log/apache/没有出现与我正在使用的任何目录相关的错误。

另外,当移动文件时(是的,我尝试了不同的位置),我注意到我的public_html具有以下权限方案:

drwxrwxr-x.  8 5500 www-data 4096 May  3 12:08 domain1_com
drwxrwxrwx   2 root root     4096 May  2 17:25 _cgi-bin
drwxr-xr-x   3 root root     4096 May 17 14:15 comercial_YYYY_com
drwxrwxr-x.  6 5500 www-data 4096 May  3 11:47 domain2_com
drwxrwxr-x.  6 5500 www-data 4096 May  2 17:25 domain3.pt
drwxr-xr-x   7 5500 www-data 4096 May  3 17:55 orcamento_YYYY_com
drwxrwxr-x.  6 5500 www-data 4096 May 13 18:48 domain4_pt
drwxr-xr-x   3 5500 www-data 4096 May 17 11:40 to_domain5_com
drwxrwxr-x.  8 5500 www-data 4096 May 13 18:03 YYYYY.com
drwxrwxr-x. 19 5500 www-data 4096 May  3 11:20 domain5.com
drwxrwxr-x.  6 5500 www-data 4096 May  2 17:25 domain6.pt

但我没有打开 SELinux。我知道这一点是因为答案是sestatus---bash: sestatus: command not found我使用的是 Debian Squeeze -- 但 php 无法在没有点权限 (.) (SELinux 的东西) 的文件夹上运行。

而且,由于我似乎没有 SELinux,我真的不知道发生了什么事情。(我知道,所有域名都是从我所在的另一台服务器复制粘贴过来的)

我在这里很迷茫。请您为我指明方向吧?

答案1

这是设置 Apache 的错误方法。您的sites-availablesites-enabled目录用于虚拟主机仅限配置,不是您网站的内容文件。这些文件应存储在/var/www您选择的目录中。

您的AddTypeDirectoryIndex指令应该合并到您的主 Apache 配置中/etc/apache2/apache2.conf

例子:

/etc/apache2/sites-available/mydomain.com

<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot "/var/www/mydomain.com"
  ServerName mydomain.com
  <Directory /var/www/mydomain.com/>
    Options -Indexes
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

然后将此文件符号链接到/etc/apache2/sites-enabled/mydomain.com

然后,您的网站数据将存储在 中/var/www/mydomain.com

相关内容