Home
 

Customer Support

Search for keywords:

Browse by category:

What's the difference between running PHP as a cgi or as
a module in safe mode?

At Modwest, PHP runs as a cgi and "safe mode" is OFF. If you are have never worked with PHP running as CGI instead of as an Apache module, here are the primary differences you'll discover at Modwest:

1. PHP sees file paths the same way you do when you ftp into your account. The root directory "/" is your home directory as far as PHP is concerned.

2. PHP scripts run with YOUR permissions instead of the permissions of the webserver. This is an advantage because your PHP scripts will be able to fopen() files, fwrite() to them and fclose() them at will. This also means the PHP copy() function is totally unrestricted. Any file written by PHP will be owned by you, not the webserver, which means you can then manipulate those files with other PHP scripts.

3. For speed, PHP has no extension modules included except the one for MySQL. If you need to use PHP functions from an extension module (such as GD image manipulation or XSLT/XML functions), you can either use the dl() function to dynamically load the module right in your PHP code, or you can go enable them site-wide in your /etc/php.ini file or with the PHP configurator in your Control Panel.

4. You have complete control of your own php.ini file. You can use this to set include_path, auto_prepend_file and other values. You cannot set any php configurations with php_value directives in .htaccess files. Editting your /etc/php.ini file affects all PHP scripts in your account. Certain things can be done on a per-script basis by calling such functions as dl() and ini_set().

5. A few PHP functions, like getallheaders(), will not work when running as cgi. However, there are always alternatives to achieve the same effect. Other PHP abilities like HTTP Authentication and sending 401 Unauthorized headers are still possible.


Note that the module version of PHP, also known as mod_php and identified via the php_sapi_name() call as "apache", is not supported by Modwest.

See Also:

What is the real full path to my home directory?

What can I do with .htaccess files?

What PHP modules are available and how do I load them?

Why does a PHP function give an error that it is undefined?

How do I set PHP include_path?

Why does PHP HTTP authentication not work?

Can I have all .html pages parsed as PHP?

How do I do html form file uploads?

Sbox error file not world executable?

Sbox error file is world writable?

Sbox error the directory containing [some script] is world writable?

Do I need 777 permissions in order for my PHP scripts to create files?

User-Contributed Notes

add a note
There are no user-contributed notes for this topic.

Related Questions:


How do I set PHP include_path?

What PHP modules are available and how do I load them?

How do I change timezone for PHP?

How do I do html form file uploads?

Can I run a PHP script on cron?

Why does a PHP function give an error that it is undefined?

Why does PHP HTTP authentication not work?

Why does my PHP script throw an Internal Server Error 500?

What version of PHP are you running and can I see a phpinfo()?

Can you change session cookie timeout in php.ini for me?

I can't upload a file larger than 8MB through a PHP script

Do you have a quick form mail script?

Can I use a PHP extension like PDFlib that I have personally purchased a license to use?

Do you offer PHP5 with MySQLi?

Where is the php_error_log?

Can I have all .html pages parsed as PHP?

The PHP curl module doesn't work.

My PHP session is lost whenever I go to a secure URL using the shared SSL certificate.

Do you provide PEAR?

Where can I download free PHP scripts?

How do I get different character sets within my PHP page to display correctly?

Do I need to set any 777 permissions in order for my PHP scripts to create files and directories?

Can I use Smarty Templates?

The PDFlib extension gives a UPR description error.

How do I execute my .php files as PHP 5?

How do I use the url_rewriter.tags setting for PHP?

Why does flush() not flush the data to my browser?

What is CAPTCHA? How can I use it?

Why does PHPLIB sessions give me a MySQL Database error?

The pfpro pfpro_process() function keeps giving me Error 31

Will my Zend Encoded files work?

Will IonCube encoded files work?

I need the virtual() function and it is not available.

Why does getallheaders() say undefined function?

Can I talk over SSL when opening an IMAP connection with the PHP imap_open() function?

How can one PHP file transparently handle all search-engine friendly URLs?

My PHP script needs a newer version of Zend Optimizer. What do I do?

How do I put PHP sessions into a database instead of the default files-based method?

Browse Categories:

Getting Started, FTP, Telnet/SSH, Moving Domains, E-mail, Traffic Reports, Mailing Lists, Apache, PHP, CGI, Other Server-Side Scripting, MySQL Database, Imaging Libraries, Other Software, Billing & Terms, Control Panel, E-commerce, Pre-Sales


Tiny Modwest Logo         Copyright 2000-2008 by Modwest, Inc.          About Us    |    Blog    |    Jobs    |    Web Design    |    Contact Us