首先,抱歉,我的英语不好,问的问题在网上已经有很多答案了。我读了很多关于这个问题的帖子,但还是找不到解决办法。
我是一名 Web 开发人员,最近从 Windows 7 转到了 Ubuntu。我完成了一个网站(它已上线并正常运行),并设置了 LAMP 来继续使用它。我用以下命令创建了一个 test.php 文件:<?php phpinfo(); ?>
并将其放在/var/www/html
目录中,它显示了有关 php 的所有信息,我非常高兴:“好的,一切都完成了,明天我会努力工作的”
但是我将整个网站放入了其中/var/www/html
,而不是文件夹中,index.php 在其中,/var/www/html
但是猜怎么着:没有加载任何我的 .php 文件,浏览器只是继续思考。
我做了什么:
- 我重新启动了 Apache:
/etc/init.d/apache2 restart
- 我再次尝试使用 test.php 文件,它运行正常
- 我放入了
/var/www/html
一个.html 文件并且运行正常。 我查找了一下
/etc/apache2/sites-enable/000-default.conf
,上面写着:DocumentRoot /var/www/html
我查找了一下
/etc/apache2/mods-enabled/dir.conf
,上面写着:DirectoryIndex index.html index.cgi index.pl index.php ...
编辑*
我认为这是与 phpmyadmin 有关的问题,例如我无法连接数据库。但是当我尝试加载页面时,屏幕上什么都没有显示,所以...我不确定。
我可以访问该 URL localhost/phpmyadmin
,并且我像这样编辑了 connection.php 文件:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_rakstadconnection = "localhost";
$database_rakstadconnection = "rakstadclandb";
$username_rakstadconnection = "root";
$password_rakstadconnection = "admin";
$rakstadconnection = mysql_connect($hostname_rakstadconnection, $username_rakstadconnection, $password_rakstadconnection) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET NAMES 'utf8'");
?>
数据库名称、用户和密码正确。
http://i89.photobucket.com/albums/k220/Haddex/Capturadepantallade2014-06-09112609_zpsc45ddb72.png
http://i89.photobucket.com/albums/k220/Haddex/Capturadepantallade2014-06-09112120_zps0b9e15f7.png
*编辑2:这可能是因为我将网站从 Windows 带到了 Linux?我使用了 Dreamweaver。
编辑3:我将#更改为/*/,什么也没有。error.log 文件显示:
[Mon Jun 09 17:08:13.627881 2014] [:error] [pid 1517] [client 127.0.0.1:46663] PHP Warning: require_once(/var/www/html/Connections/rakstadconnection.php): failed to open stream: Permission denied in /var/www/html/index.php on line 1
[Mon Jun 09 17:08:13.627933 2014] [:error] [pid 1517] [client 127.0.0.1:46663] PHP Fatal error: require_once(): Failed opening required 'Connections/rakstadconnection.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/index.php on line 1
我正在阅读错误日志,但是...我应该将 Linux 路径添加到我的 index.php 文件中吗?我不这么认为。
谢谢。
答案1
文件的权限可能有问题。如果 apache(或 www-data)没有读取权限,则页面不会显示。
这个错误似乎表明:
`[Mon Jun 09 17:08:13.627881 2014] [:error] [pid 1517] [client 127.0.0.1:46663] PHP Warning: require_once(/var/www/html/Connections/rakstadconnection.php): failed to open stream: Permission denied in /var/www/html/index.php on line 1`
成为www-data
目录及其中所有内容的所有者sudo chown -R www-data:www-data /var/www/html/<siteFolder>
。
然后设置权限,赋予所有者和组读写和执行权限,而其他所有人仅具有读取权限sudo chmod -R 774 /var/www/html/<siteFolder>
。