php – Apache不会在Raspberry Pi上打开页面
我已经在我的Raspberry Pi上安装了
Apache 2 PHP,当我请求index.php它加载正常,但是当我尝试请求任何子文件夹或任何其他文件时(strandsort.csin这个例子 – 也可以是anything.txt,只是没有要解析的HTML / PHP),我得到403拒绝访问,但是当我请求应该被解析的文件(i2.php)时,我得到一个空白页面.
也许值得注意的是,phpmyadmin似乎工作正常. 我配置了以下配置: /etc/apache2/sites-enabled/000-default 并将AllowOverride设置为ALL. 这是错误: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0,referer: http://raspberryIP/ PHP Fatal error: Unknown: Failed opening required '/var/www/i2.php' (include_path='.:/usr/share/php$http://raspberryIP/ 其中“RaspberryIP”是设备的IP地址. 解决方法
错误是:
PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0,referer: http://raspberryIP/ PHP Fatal error: Unknown: Failed opening required '/var/www/i2.php' (include_path='.:/usr/share/php$http://raspberryIP/ 所以这似乎是文件/var/www/i2.php的权限问题.用户拥有该文件的内容是什么? Apache能够读取该文件吗?如果从命令行运行此命令,输出结果是什么: ls -la /var/www/i2.php 另外,Apache错误日志说了什么?它们应位于: /var/log/apache2/access.log /var/log/apache2/error.log 您可以使用尾部跟踪他们的输出: sudo tail -f -n 200 /var/log/apache2/access.log sudo tail -f -n 200 /var/log/apache2/error.log 这些路径基于标准的Ubuntu 12.04安装,但对于CentOS和Linux应该是相同的.你在Raspberry PI中使用的Debian变体. 您知道,这个问题对于Raspberry PI设置并不特殊,但实际上是标准的Linux Apache服务问题.因此,用于成熟服务器的调试技术也可以在这里工作. 另外,/ etc / apache2 / sites-available / default文件的内容是什么?这是/ etc / apache2 / sites-enabled / 000-default只是一个符号链接的真实文件.默认的Apache默认文件可能令人困惑&包含许多冗余命令.这是我在Ubuntu中设置Apache时要使用的精简版本: <VirtualHost *:80> DocumentRoot /var/www CustomLog ${APACHE_LOG_DIR}/access.log combined ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug,info,notice,warn,error,crit,alert,emerg. LogLevel warn </VirtualHost> 请注意,此处没有AllowOverride All. AllowOverride的全部目的是允许解析.htaccess文件&在这个阶段,这应该不是一个因素.如果您认为需要,可以将其添加到此配置中,如下所示: <VirtualHost *:80> DocumentRoot /var/www CustomLog ${APACHE_LOG_DIR}/access.log combined ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug,emerg. LogLevel warn <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 编辑:原始海报张贴了ls -la输出,如下: -rw------- 1 pi www-data 21 May 1 14:10 /var/www/i2.php 这似乎是正确的,但我建议至少尝试调整权限,以便所有人都能读取这样的文件: sudo chmod a+r /var/www/i2.php 此外,在Apache access.log中 – 原始海报也在评论中提供 – 它说: [Sun May 04 18:00:02 2014] [error] [client 127.0.0.1] PHP Fatal error: Unknown: Failed opening required '/var/www/i2.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0 这让我觉得i2.php中的PHP编码有错误?你能检查那里的内容吗?也许只是创建一个简单的PHP文件,只有以下内容,看看会发生什么: <?php echo "Hello world!"; ?> 所有这些,也许最好是调整整个/ var / www /目录的权限. sudo chmod -R 755 /var/www/ 755将应用读,写和amp;执行所有者的权限,并阅读&执行该组的权限&其他. -R标志表示这应该通过整个/ var / www /目录&子文件夹. 另一个编辑:查看原始海报的access.log似乎可能存在直接连接到.htaccess的权限问题: [Sun May 04 17:46:10 2014] [crit] [client 192.168.1.2] (13)Permission denied: /var/www/js/.htaccess pcfg_openfile: unable to check htaccess file,ensure it is readable [Sun May 04 17:46:11 2014] [crit] [client 192.168.1.2] (13)Permission denied: /var/www/js/.htaccess pcfg_openfile: unable to check htaccess file,ensure it is readable [Sun May 04 17:46:12 2014] [crit] [client 192.168.1.2] (13)Permission denied: /var/www/js/.htaccess pcfg_openfile: unable to check htaccess file,ensure it is readable 因此,在对/ var / www /进行一揽子权限更改时解决了问题,或许权限问题可能基于/var/www/js/.htaccess甚至父/ var / www / js /目录?我指出这一点的原因是一揽子权限更改,如sudo chmod -R 755 / var / www /可以解决问题,但有时最好知道确切的问题来自哪里,这样你就不会对什么感到困惑真的发生了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |