doupingtang9627 2014-08-14 16:25
浏览 104
已采纳

在AWS EC2 Linux RHEL上,除index.php外,所有PHP文件都在执行

I am lost on this one.

I have setup an AWC EC2 RHEL server, and installed php and apache. Everything seems to work except for the fact that the index.php file will not execute. All other *.php files will work if I call them directly.

index.php contains:

<?php echo "test"; ?>

in /etc/httpd/conf/httpd.conf I have the settings:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

Although if I remove the index.php still does not work.

I have the permissions on index.php as -rw-r--r-- ec2-user ec2-user

I am not sure what other information would be useful here seeing as all other php files work except for the index.php. (eg: if I call /index.php outputs nothing, if I move index.php to index2.php and call /index2.php outpus test)

Any thoughts as to why this may be happening?

EDIT

I am now realizing there is a 500 internal server error when the index.php file is called checking the access logs.

"GET /index.php HTTP/1.1" 500

Maybe that will help point in the right direction? I am still unclear how to solve this issue. Again, changing the name of the file to anything other than index.php (eg: index2.php) will execute the file correctly.

Also, after enabling error reporting I am getting this error:

PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

PHP Fatal error: Unknown: Failed opening required '/var/www/html/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0

I have tried changing permissions to all sorts of variants including 777, 755, 655, 644, 664, etc... even tried changing owner to apache. no luck.

  • 写回答

3条回答 默认 最新

  • dsklfsdlkf1232 2016-10-14 07:57
    关注

    Try to configure selinux in permissive or disabled mode.

    I had the same problem. I was trying to install moodle and failed. I got the same error above.

    I configured selinux to permissive to see if this is the root cause and indeed I was able to install.

    My problem was that I have opened moodle archive (moodle...tar.gz) as a regular user under his home directory and moved it to apache's DocumentRoot. This got the selinux content field to be wrong.

    I have enable selinux and opened the tar.gz archive directly under DocumentRoot (/var/www/html). This gave the right content attribute to the files (httpd_sys_content_t). I was able to run moodle with selinux enabled.

    Mosh

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?