Saturday, November 24, 2012

Perl Script gives 500 Internal server error on shared hosting

Perl script throws error...

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Following steps need to solve problem
Just try following code with execution permission (755) on folder (cgi-bin) and file
print "Content-type: text/plain\n\n";
print "testing...\n";

and if it works than no problem with server side configuration.

If not works than add -w in first line...
#!/usr/bin/perl -w
if not works than it may server configuration problem

Got clue from... Thanks to them.

Friday, November 16, 2012

Server migration problems and php with pear display blank page (PHP Path Problem)

My service provider( linux share hosting ) migrated my website to another server and following problems started
require_once("DB.php"); gives error...
Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in /home/username/public_html/test.php on line 9

Fatal error: require_once() [function.require]: Failed opening required 'DB.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/username/public_html/test.php on line 9

if you replace require_once("DB.php");
WITH full path...

Possible Solutions:

1) If your service provider ready to edit php.ini than request them to add PEAR path (most recommended )
2) edit .htaccess file and add
php_value include_path "/yourpath/mywebsite" ( NOT Recommended )
you may have to use ALLOW OVERRIDE 
3) edit your source code and add path
$path = '/home/username/php/';
set_include_path($path . PATH_SEPARATOR . get_include_path()); 


ALL SHARE HOSTING PROVIDER must co-operate their user and
check all path with php.ini