Possible Duplicate:
PHP call class in class returns error:500
I have code that looks somewhat like this:
<?php
include 'payTable.php';
session_start();
...
if ($_SESSION['fieldTen'] > 30)
{
$payTable = 'payTable';
$payTable::run();
}
?>
My permissions are set to 0644, so I don’t think that’s the issue, but I’m getting strange behavior on the server that I’m not getting in the local directory using XAMP.
Every time I try to load the page with this code on it, I get the “Internal Server Error: 500” error.
Can anyone tell me if there’s something obviously wrong here? Something I’m missing.
I tried simply removing the PHP from this file and that causes the HTML part of it to appear without problems.
This is not legal syntax on PHP < 5.3.0, so you’re getting a syntax error:
PHP (< 5.3.0) thinks
$payTableis a string, so you can’t use::run()on it.The solution would be just to ditch the variable altogether and call it directly:
On a related note, turn on your error reporting. This will allow you to spot and fix errors easily rather than being left in the dark with a generic error. You can do this by editing php.ini (preferred), or add this to the top of your scripts: