无法访问apache上的php文件

I installed Apache, Php, Mysql on Ubuntu 10.04 x32. After I install them I can't access some php files. APM is ON. Followings are some files and .htaccess to figure the problem out. If you can't see the "can access" files on browser, server might be down.

permissions: phpinfo.php 644, index.php 600 , hello.php 600

[can access]

http://222.118.53.30/phpinfo.php
http://222.118.53.30/phpmyadmin

[can't access]

http://222.118.53.30/index.php
http://222.118.53.30/hello.php

.haccess is following

SetEnv APPLICATION_ENV development



Options -Indexes

Options +FollowSymLinks

DirectoryIndex index.php index.html

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)\?*$ index.php [L,QSA]

#remove www.

#RewriteCond %{HTTPS} off

#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]

#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#RewriteRule ^(.*\.(png|jpg|jpeg|gif))$ index.php?controller=minify&action=index&file_path=$1&ext=$2 [L,NC]

#RewriteRule ^(.*\.(css|js))$ index.php?controller=minify&action=jscss&file_path=$1&ext=$2 [L,NC]


</IfModule>

ErrorDocument 404 index.php

<ifModule mod_expires.c>

ExpiresActive On

ExpiresDefault "access plus 1 seconds"

ExpiresByType text/html "access plus 1 seconds"

ExpiresByType image/gif "access plus 2592000 seconds"

ExpiresByType image/jpeg "access plus 2592000 seconds"

ExpiresByType image/png "access plus 2592000 seconds"

ExpiresByType text/css "access plus 604800 seconds"

ExpiresByType text/javascript "access plus 216000 seconds"

ExpiresByType application/x-javascript "access plus 216000 seconds"

</ifModule>

<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak|cache)$">

Order Allow,Deny

Deny from all

</FilesMatch>

[hello.php]

<?php 
 echo "Hello World";
?>

[index.php]

<?php 

// Define application path
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application/'));

// Define base path
defined('BASE_PATH')
|| define('BASE_PATH', realpath(dirname(__FILE__)));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../JO/v.0.9b/'),
realpath(APPLICATION_PATH . '/library/'),
get_include_path(),
)));

require_once 'JO/Application.php';

// Create application, bootstrap, and run
$application = new JO_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/config/application.ini',
isset($argv) ? $argv : null
); 

// Set Routers links
$configs_files = glob(APPLICATION_PATH . '/config/config_*.ini');
if($configs_files) {
foreach($configs_files AS $file) {
    $config = new JO_Config_Ini($file);
    $application->setOptions($config->toArray());
    JO_Registry::set(basename($file, '.ini'), $config->toArray());
}
}

// Set Routers links
$routers_files = glob(APPLICATION_PATH . '/config/routers/*.ini');
if($routers_files) {
foreach($routers_files AS $file) {
    $config = new JO_Config_Ini($file, null, false, true);
    $application->setOptions($config->toArray());
    JO_Registry::set('routers_'.basename($file, '.ini'), $config->toArray());
}
}

//dispatch application
$application->dispatch();



// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno)) {
    // This error code is not included in error_reporting
    return;
}

switch ($errno) {
case E_USER_ERROR:
    echo "<b>My ERROR</b> [$errno] $errstr<br />
";
    echo "  Fatal error on line $errline in file $errfile";
    echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />
";
    echo "Aborting...<br />
";
    exit(1);
    break;

case E_USER_WARNING:
    echo "<b>My WARNING</b> [$errno] $errstr<br />
";
    break;

case E_USER_NOTICE:
    echo "<b>My NOTICE</b> [$errno] $errstr<br />
";
    break;

default:
    echo "Unknown error type: [$errno] $errstr<br />
";
    break;
}

/* Don't execute PHP internal error handler */
return true;
}

Could you please help me out what is wrong with my configuration ?

Those files are showing HTTP 500 Internal server error. That means those files have some code which is not working for your version of PHP. You need to look at the codes in those files

Are you sure, you can't access the files? Because from this end, I can. I just get an Internal Server Error (500) which could have a lot of reasons.

The most common one would be a syntax error in your php file. So please post the source code of your hello.php for example.

i test Htaccess is correct without problem.

test php by commented this line of htaccess

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule ^(.*)\?*$ index.php [L,QSA] 

if hello.php work correctly that mean problem is on index php code

if problem not solve that mean index php is correct and i thought problem is from httpd.conf on virtual Host part

some other problem maybe cause this problem like permission,( Your php file must be 655 that mean can read and execute by public ,read and execute by Group, read and write by Owner)