<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ColinFraser</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ColinFraser"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/Special:Contributions/ColinFraser"/>
	<updated>2026-08-19T16:46:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=PHP_error_logs&amp;diff=49776</id>
		<title>PHP error logs</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=PHP_error_logs&amp;diff=49776"/>
		<updated>2016-04-07T11:11:02Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PHP can be set up to log errors in a variety of different ways: two of these involve the use of the php.ini file and the ini_set command. &lt;br /&gt;
&lt;br /&gt;
== How to enable and check PHP error logs==&lt;br /&gt;
PHP can be set up to log errors in a variety of different ways: two of these involve the use of the php.ini file and the ini_set command. &lt;br /&gt;
* &#039;&#039;&#039;Using the php.ini file&#039;&#039;&#039;: The log settings are contained in the php.ini file stored on the server. If you don&#039;t know where that is, edit your Moodle &#039;&#039;config.php&#039;&#039; and add the following as the second line&lt;br /&gt;
&lt;br /&gt;
  phpinfo();&lt;br /&gt;
&lt;br /&gt;
:then reload the web page. Look for the entry &#039;&#039;&#039;Configuration File (php.ini) Path&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
:When you have located php.ini open it in your favorite text editor. Find the &#039;&#039;&#039;Error handling and logging&#039;&#039;&#039; section of the php.ini file. Make sure that both &#039;&#039;&#039;display_errors = On&#039;&#039;&#039;, &#039;&#039;&#039;display_startup_errors = On&#039;&#039;&#039; and &#039;&#039;&#039;log_errors = On&#039;&#039;&#039; are present and uncommented. Check the value of &#039;&#039;&#039;error_log&#039;&#039;&#039; - this tells you the location of the file errors are logged to. If it is commented out then errors will be sent to the web server error log file. Remember, if you make any changes to this file you will need to restart the web server (or just reboot the server).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Using ini_set commands&#039;&#039;&#039;: If you are using Moodle 1.7 or higher, the previous steps are not enough. In those versions error logging parameters are dependant on certain administrative settings that you specify in the debugging section. The problem is that if you can&#039;t access the administrative pages, you can&#039;t set the debugging options. So the only way to modify them is by adding the following lines to your config.php file, just before the last line (the one containing a single&#039;?&amp;gt;&#039; only):&lt;br /&gt;
&lt;br /&gt;
  ini_set (&#039;display_errors&#039;, &#039;on&#039;);&lt;br /&gt;
  ini_set (&#039;log_errors&#039;, &#039;on&#039;);&lt;br /&gt;
  ini_set (&#039;display_startup_errors&#039;, &#039;on&#039;);&lt;br /&gt;
  ini_set (&#039;error_reporting&#039;, E_ALL);&lt;br /&gt;
  $CFG-&amp;gt;debug = DEBUG_ALL;&lt;br /&gt;
&lt;br /&gt;
:This will enable the same settings specified above even if Moodle sets them otherwise. &lt;br /&gt;
:&#039;&#039;&#039;Important&#039;&#039;&#039;: Remember to put them just before the last line of config.php.&lt;br /&gt;
&lt;br /&gt;
==Error Logs== &lt;br /&gt;
&lt;br /&gt;
The default settings of the PHP Error Log file varies from OS to OS. The location of the error log file itself can be set manually in the php.ini file. On a Windows server, in IIS, it may be something like  &amp;quot;&#039;error_log = C:\log_files\php_errors.log&#039;&amp;quot; in Linux it may be a value of &amp;quot;&#039;/var/log/php_errors.log&#039;&amp;quot;. The php_errors.log file may be required to be manually created, which would mean that the ownership and rw permissions will need to be set accordingly. &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[:en:Installing Moodle|Installing Moodle]]&lt;br /&gt;
*[[:en:Installation FAQ|Installation FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Future&amp;diff=26372</id>
		<title>Future</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Future&amp;diff=26372"/>
		<updated>2011-04-16T12:36:31Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* What happens if Martin gets eaten by a kangaroo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
&lt;br /&gt;
==Development==&lt;br /&gt;
&lt;br /&gt;
Moodle development is increasingly influenced by our community of developers and users. &lt;br /&gt;
&lt;br /&gt;
Your [[Credits|contributions]] in the form of ideas, code, feedback and promotion are all very welcome - see the [[Development:Developer documentation|Developer documentation]] and the [http://moodle.org/help community forums] for more details on our software development life cycle.   A dynamic database of proposed features and their status can be found at [http://tracker.moodle.org/ tracker.moodle.org].   You can also pay to have certain features developed sooner - see [http://moodle.com/development/ moodle.com/development] for information and a quote.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, see our [[Roadmap]] for developers.&lt;br /&gt;
&lt;br /&gt;
==Moodle Project==&lt;br /&gt;
&lt;br /&gt;
Naturally people like to consider risks when committing something as important as education to a particular piece of software.  This is particularly so with open source where they aren&#039;t paying for anything.&lt;br /&gt;
&lt;br /&gt;
Here are answers to some of the frequent questions that we hear about this.&lt;br /&gt;
&lt;br /&gt;
===What happens if Company X offers to buy Moodle?===&lt;br /&gt;
&lt;br /&gt;
# The copyrights to Moodle software can never be &amp;quot;sold&amp;quot; like they can for proprietary software.  All our code is completely open source.  The copyrights belong to hundreds of authors and they would ALL need to agree to any change in the license.  Even if that happened, it would only apply to future code - all existing versions would remain under the existing GPL license and our large and very capable community of developers would simply fork from there and continue using and developing the GPL version.&lt;br /&gt;
# The core company Moodle Pty Ltd has no interest in selling themselves, at any price.  Martin Dougiamas has already dismissed cash offers of US$20 million for the company because he knows any such move would only damage the trust of the community and slow down growth.  Note that Moodle Pty Ltd also has over 50 Moodle Partner companies worldwide who depend on Moodle and they would also all need to agree!  Even if this doesn&#039;t reassure you enough, please remember that EVEN if the company was sold the software would not be affected - the Moodle user community (including thousands of large Universities and companies) would organise new management among themselves and continue.&lt;br /&gt;
&lt;br /&gt;
===What happens if Martin gets eaten by a kangaroo?===&lt;br /&gt;
&lt;br /&gt;
# Moodle is well beyond being driven by any single person.  The company Moodle Pty Ltd has a stable foundation now, and would continue to be managed as a viable business.  &lt;br /&gt;
# Martin has been progressively delegating more and more of his roles and there are enough managers and enough processes in the project now to continue without him. &lt;br /&gt;
# Kangaroos are herbivores.  :) &lt;br /&gt;
## Except for the Kalangadoo Kangaroo, but Martin is extremely unlikely to visit Kalangadoo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[pt:Futuro do Moodle]]&lt;br /&gt;
[[es:Futuro]]&lt;br /&gt;
[[nl:Toekomst]]&lt;br /&gt;
[[de:Zukunft]]&lt;br /&gt;
[[fr:Futur]]&lt;br /&gt;
[[ja:未来]]&lt;br /&gt;
[[de:Zukunft]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26626</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26626"/>
		<updated>2010-12-30T13:18:09Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Known and Discovered Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are concerned that their install/upgrade is reporting the php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 also requires the use of the PHP zip extension. For most installs this is not an issue, but for some, all it needs is for the line:&lt;br /&gt;
  extension=php_zip.dll &lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section to be uncommented.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26625</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26625"/>
		<updated>2010-12-30T13:17:34Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Known and Discovered Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are concerned that their install/upgrade is reporting the php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 also requires the use of the PHP zip extension. For most installs this is not an issue, but for some, all it needs to for the line:&lt;br /&gt;
  extension=php_zip.dll &lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section to be uncommented.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26624</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26624"/>
		<updated>2010-12-30T13:16:11Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Known and Discovered Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are reporting that their install/upgrade is reporting that php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 also requires the use of the PHP zip extension. For most installs this is not an issue, but for some, all it needs to for the line:&lt;br /&gt;
  extension=php_zip.dll &lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section to be uncommented.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26623</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26623"/>
		<updated>2010-12-30T13:15:54Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Known and Discovered Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are reporting that their install/upgrade is reporting that php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 also requires the use of the PHP zip extension. For most installs this is not an issue, but for some, all it needs to for the line:&lt;br /&gt;
  extension=php_zip.dll &lt;br /&gt;
in the Dynamic Extensions section to be uncommented.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26622</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26622"/>
		<updated>2010-12-30T13:14:53Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Known and Discovered Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are reporting that their install/upgrade is reporting that php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 also requires the use of the PHP zip extension. For most installs this is not an issue, but for some, all it needs to for the line:&lt;br /&gt;
  extension=php_zip.dll &lt;br /&gt;
to be uncommented.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26621</id>
		<title>Upgrading to Moodle 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Upgrading_to_Moodle_2.0&amp;diff=26621"/>
		<updated>2010-12-30T12:55:24Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Verify the upgrade (optional) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 2.0}}When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.&lt;br /&gt;
&lt;br /&gt;
We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
&lt;br /&gt;
* PHP must be &#039;&#039;&#039;5.2.8 or later&#039;&#039;&#039;&lt;br /&gt;
* Databases should be one of the following:&lt;br /&gt;
** MySQL 5.0.25 or later  (InnoDB storage engine highly recommended)&lt;br /&gt;
** PostgreSQL 8.3 or later&lt;br /&gt;
** Oracle 10.2 or later&lt;br /&gt;
** MS SQL 2005 or later&lt;br /&gt;
* Any standards-supporting browser from the past few years, for example:&lt;br /&gt;
** Firefox 3 or later &lt;br /&gt;
** Safari 3 or later &lt;br /&gt;
** Google Chrome 4 or later&lt;br /&gt;
** Opera 9 or later&lt;br /&gt;
** MS Internet Explorer 7 or later (Even [http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html Google does not support IE6 any more])&lt;br /&gt;
&lt;br /&gt;
==Before upgrading please... ==&lt;br /&gt;
* Always check your site to make sure it meets all system requirements for 2.0 in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Do a full database backup!&#039;&#039;&#039;&lt;br /&gt;
* Remember to purge PHP cache if using any PHP accelerator&lt;br /&gt;
&lt;br /&gt;
==Now upgrade==&lt;br /&gt;
&lt;br /&gt;
Once you have satisfied the requirements for Moodle 2.0, follow the instructions on the [[Upgrading|upgrading]] page.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
Note, if you get a strange error about &#039;handling of PHP float numbers&#039;, please see [[Installation_FAQ#Moodle_claims_PHP_float_handling_is_not_compatible|this FAQ entry]].&lt;br /&gt;
&lt;br /&gt;
== Verify the upgrade (optional) ==&lt;br /&gt;
If you wish to confirm that the database definitions in the upgraded database match the definitions of a new, clean install (which they should) you might like to look at [[Verify Database Schema]].&lt;br /&gt;
&lt;br /&gt;
== Known and Discovered Issues ==&lt;br /&gt;
Many people are reporting that their install/upgrade is reporting that php extension &#039;&#039;&#039;intl&#039;&#039;&#039; is not installed or available. The intl.dll file is available in later releases of PHP but many hosts may not have a later release. To remedy this problem, discuss with your host the issue you are having and inform them that the problem is easy fixed by either upgrading their php to a newer version or to download the intl.dll and copy it to the php/ext folder. Add to the php.ini file the line: &lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the &#039;&#039;Dynamic Extensions&#039;&#039; section of the file.  The problem should then be resolved.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Moodle 2.0 release notes]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[de:Auf Moodle 2.0 aktualisieren]]&lt;br /&gt;
[[fr:Mise à jour à Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Creating_a_theme&amp;diff=28389</id>
		<title>Talk:Creating a theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Creating_a_theme&amp;diff=28389"/>
		<updated>2010-10-02T13:10:20Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Is this what??? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wow!  Is the code for this theme available in a file, say in Modules and Plugins?  Or did I miss it in my quick look.  I can see my next project at work. --[[User:chris collman|chris collman]] 12:07, 6 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, the code in this tutorial isn&#039;t available anywhere the reason being that it is entirely based on the base theme :) check out &#039;&#039;theme/base/*&#039;&#039; you&#039;ll notice that what is in there is very close to the code I wrote for this tutorial. --[[User:Sam Hemelryk|Sam Hemelryk]] 01:33, 7 April 2010 (UTC)&lt;br /&gt;
::Hi Sam, I did not look, why get confused by reality and numb about :) I sort of got here by creating a 1.9.8 localhost that I could do screenshots for [[Standard themes]] and then tried my first complete install package of 2.0 in 3 months. My primary goal is to revamp the &#039;navigation&#039; and organization of Category:Themes pages, your instructions are going to help me. Thanks for all your time and efforts.   --[[User:chris collman|chris collman]] 11:26, 7 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Good crisp documentation!! Thank you Sam for this :) You ve made our lives easier with 2.0 themes!! ;) &lt;br /&gt;
&lt;br /&gt;
Cheers!! --[[User:Navin Dutta|Navin Dutta]] 03:12, 13 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Question about instruction==&lt;br /&gt;
Sam, your instructions say there will only be one layout php file called standard.php.  What is the general.php file pointer doing in config.php under base?  If I understand things, it should be pointed to the theme base (which has a general.php) or the file should be called standard.php.  Is that correct?&lt;br /&gt;
&lt;br /&gt;
It is snowing, so I thought I would see if I could follow your instructions and do something like standardlogo in 1.9 for fun.  No doubt will crash and burn with this part time project over the next 2 years :) Thanks --[[User:chris collman|chris collman]] 13:12, 16 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Broken :-( ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
Thanks for the tutorial, but with - Moodle 2.0 Preview 2 (Build: 20100531) - I get the error &#039;Coding error detected, it must be fixed by a programmer: Trying to reference an unknown block region side-post&#039; when trying to select the theme for modern browsers.&lt;br /&gt;
&lt;br /&gt;
Update: I&#039;ve made the changes required to solve the problem after reading: http://moodle.org/mod/forum/discuss.php?d=150190&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
&lt;br /&gt;
Gareth&lt;br /&gt;
&lt;br /&gt;
== Layouts ==&lt;br /&gt;
&lt;br /&gt;
The need for the layout definitions is mentioned but not what they or what they do. This either needs explained or a link to where it is explained. It certainly isn&#039;t obvious --[[User:Howard Miller|Howard Miller]] 17:18, 12 July 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Is this what??? ==&lt;br /&gt;
&lt;br /&gt;
Sorry guys, I think this is confusing Please understand that I am not that technically literate so I need things said a lot clearer: &lt;br /&gt;
&lt;br /&gt;
config.php &lt;br /&gt;
    All of our settings will go here. &lt;br /&gt;
/style/ &lt;br /&gt;
    This directory will contain all of our stylesheets. &lt;br /&gt;
/style/excitement.css &lt;br /&gt;
    All of our css will go in here. &lt;br /&gt;
/pix/ &lt;br /&gt;
    Into this directory we&#039;ll put a screen shot of our theme as well as our favicon and any images we use in CSS. &lt;br /&gt;
/layout/ &lt;br /&gt;
    Our layout files will end up in this directory. &lt;br /&gt;
/layout/standard.php &lt;br /&gt;
    This will be our one basic layout file. &lt;br /&gt;
&lt;br /&gt;
There is a clear difference between a file and a directory - but the manner in which the above example is set up does not appear to make that distinction. Could it not be better put like:  &lt;br /&gt;
&lt;br /&gt;
Create the theme directory/folder, which we are calling &amp;quot;excitement&amp;quot;. Into that directory/folder we create a file: &lt;br /&gt;
  config.php &lt;br /&gt;
    All of our settings will go here.&lt;br /&gt;
Then we create the directories/folders   &lt;br /&gt;
  /style/  &lt;br /&gt;
      This directory/folder will contain all of our stylesheets. &lt;br /&gt;
  /pix/ &lt;br /&gt;
      Into this directory/folder we&#039;ll put a screen shot of our theme as well as our favicon and any images we use in CSS. &lt;br /&gt;
  /layout/ &lt;br /&gt;
      Our layout files will end up in this directory/folder. &lt;br /&gt;
&lt;br /&gt;
Into the style directory/folder we create a file: &lt;br /&gt;
 excitement.css &lt;br /&gt;
    Where we place All of our css rules. &lt;br /&gt;
And in the layout directory/folder we create a file: &lt;br /&gt;
  standard.php &lt;br /&gt;
    This will be our one basic layout file. &lt;br /&gt;
&lt;br /&gt;
For me, not being that smart, this is a far more easily understood structure than has been shown.&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Creating_a_theme&amp;diff=28388</id>
		<title>Talk:Creating a theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Creating_a_theme&amp;diff=28388"/>
		<updated>2010-10-02T13:06:41Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wow!  Is the code for this theme available in a file, say in Modules and Plugins?  Or did I miss it in my quick look.  I can see my next project at work. --[[User:chris collman|chris collman]] 12:07, 6 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, the code in this tutorial isn&#039;t available anywhere the reason being that it is entirely based on the base theme :) check out &#039;&#039;theme/base/*&#039;&#039; you&#039;ll notice that what is in there is very close to the code I wrote for this tutorial. --[[User:Sam Hemelryk|Sam Hemelryk]] 01:33, 7 April 2010 (UTC)&lt;br /&gt;
::Hi Sam, I did not look, why get confused by reality and numb about :) I sort of got here by creating a 1.9.8 localhost that I could do screenshots for [[Standard themes]] and then tried my first complete install package of 2.0 in 3 months. My primary goal is to revamp the &#039;navigation&#039; and organization of Category:Themes pages, your instructions are going to help me. Thanks for all your time and efforts.   --[[User:chris collman|chris collman]] 11:26, 7 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Good crisp documentation!! Thank you Sam for this :) You ve made our lives easier with 2.0 themes!! ;) &lt;br /&gt;
&lt;br /&gt;
Cheers!! --[[User:Navin Dutta|Navin Dutta]] 03:12, 13 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Question about instruction==&lt;br /&gt;
Sam, your instructions say there will only be one layout php file called standard.php.  What is the general.php file pointer doing in config.php under base?  If I understand things, it should be pointed to the theme base (which has a general.php) or the file should be called standard.php.  Is that correct?&lt;br /&gt;
&lt;br /&gt;
It is snowing, so I thought I would see if I could follow your instructions and do something like standardlogo in 1.9 for fun.  No doubt will crash and burn with this part time project over the next 2 years :) Thanks --[[User:chris collman|chris collman]] 13:12, 16 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Broken :-( ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
Thanks for the tutorial, but with - Moodle 2.0 Preview 2 (Build: 20100531) - I get the error &#039;Coding error detected, it must be fixed by a programmer: Trying to reference an unknown block region side-post&#039; when trying to select the theme for modern browsers.&lt;br /&gt;
&lt;br /&gt;
Update: I&#039;ve made the changes required to solve the problem after reading: http://moodle.org/mod/forum/discuss.php?d=150190&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
&lt;br /&gt;
Gareth&lt;br /&gt;
&lt;br /&gt;
== Layouts ==&lt;br /&gt;
&lt;br /&gt;
The need for the layout definitions is mentioned but not what they or what they do. This either needs explained or a link to where it is explained. It certainly isn&#039;t obvious --[[User:Howard Miller|Howard Miller]] 17:18, 12 July 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Is this what??? ==&lt;br /&gt;
&lt;br /&gt;
Sorry guys, I think this is confusing Please understand that I am not that technically literate so I need things said a lot clearer: &lt;br /&gt;
&lt;br /&gt;
config.php &lt;br /&gt;
    All of our settings will go here. &lt;br /&gt;
/style/ &lt;br /&gt;
    This directory will contain all of our stylesheets. &lt;br /&gt;
/style/excitement.css &lt;br /&gt;
    All of our css will go in here. &lt;br /&gt;
/pix/ &lt;br /&gt;
    Into this directory we&#039;ll put a screen shot of our theme as well as our favicon and any images we use in CSS. &lt;br /&gt;
/layout/ &lt;br /&gt;
    Our layout files will end up in this directory. &lt;br /&gt;
/layout/standard.php &lt;br /&gt;
    This will be our one basic layout file. &lt;br /&gt;
&lt;br /&gt;
There is a clear difference between a file and a directory - but the manner in which the above example is set up does not appear to make that distinction. Could it not be better put like:  &lt;br /&gt;
&lt;br /&gt;
Create the theme folder, in this we are calling it &amp;quot;excitement&amp;quot;&lt;br /&gt;
Into that folder we create the file&lt;br /&gt;
  config.php &lt;br /&gt;
    All of our settings will go here.&lt;br /&gt;
Then we create the directories   &lt;br /&gt;
  /style/  &lt;br /&gt;
      This directory will contain all of our stylesheets. &lt;br /&gt;
  /pix/ &lt;br /&gt;
      Into this directory we&#039;ll put a screen shot of our theme as well as our favicon and any images we use in CSS. &lt;br /&gt;
  /layout/ &lt;br /&gt;
      Our layout files will end up in this directory. &lt;br /&gt;
&lt;br /&gt;
Into the style folder we create a file: &lt;br /&gt;
 excitement.css &lt;br /&gt;
    Where we place All of our css rules. &lt;br /&gt;
And in the layout folder we create a file: &lt;br /&gt;
  standard.php &lt;br /&gt;
    This will be our one basic layout file. &lt;br /&gt;
&lt;br /&gt;
For me, not being that smart, this is a far more easily understood structure than has been shown.&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28431</id>
		<title>Talk:Using images in a theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28431"/>
		<updated>2010-10-02T09:07:07Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just had a quick browse through this, I have not tested this but are there file extensions missing in the examples?&lt;br /&gt;
&lt;br /&gt;
e.g. - &lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shouldn&#039;t this read -&lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient.png]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--Matthew Cannings&lt;br /&gt;
&lt;br /&gt;
No. It is intentional.&lt;br /&gt;
&lt;br /&gt;
It is not really important for theme images. After all, if you are making a theme, you probably do know what type your images are. However, suppose in your theme you want to override one of the standard icons, for example i/edit. Well, even though the standard images is i/edit.gif, you might want to replace it with i/edit.png in your theme, and you can, and Moodle will find the image as long as it is one of the supported formats. We use the same basic system for all images (theme, core and plugin) so that is why you must not specify the extension when you link to the image, and you can use any format you like.--[[User:Tim Hunt|Tim Hunt]] 18:50, 10 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
These documents are essentially for developers, but is there going to be a plainer version for us who do not speak the necessary jargon? I have been trying to figure out how to explain this in the [[Front Page FAQ]] to provide people looking at Moodle 2.0 with a hope of including their own logos onto their selected themes. Seriously, I do not have either the time or the patience to learn PHP to the point where I might be able to explain it in a non-technical manner. From what I am able to decipher, it might be easier than earlier versions, but I cannot be sure. --[[User:Colin Fraser|Colin Fraser]] 09:02, 2 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28430</id>
		<title>Talk:Using images in a theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28430"/>
		<updated>2010-10-02T09:06:28Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just had a quick browse through this, I have not tested this but are there file extensions missing in the examples?&lt;br /&gt;
&lt;br /&gt;
e.g. - &lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shouldn&#039;t this read -&lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient.png]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--Matthew Cannings&lt;br /&gt;
&lt;br /&gt;
No. It is intentional.&lt;br /&gt;
&lt;br /&gt;
It is not really important for theme images. After all, if you are making a theme, you probably do know what type your images are. However, suppose in your theme you want to override one of the standard icons, for example i/edit. Well, even though the standard images is i/edit.gif, you might want to replace it with i/edit.png in your theme, and you can, and Moodle will find the image as long as it is one of the supported formats. We use the same basic system for all images (theme, core and plugin) so that is why you must not specify the extension when you link to the image, and you can use any format you like.--[[User:Tim Hunt|Tim Hunt]] 18:50, 10 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
These documents are essentially for developers, but is there going to be a plainer version for us who do not speak the necessary jargon? I have been trying to figure out how to explain this in the Front Page FAQ to provide people looking at Moodle 2.0 with a hope of including their own logos onto their selected themes. Seriously, I do not have either the time or the patience to learn PHP to the point where I might be able to explain it in a non-technical manner. From what I am able to decipher, it might be easier than earlier versions, but I cannot be sure. --[[User:Colin Fraser|Colin Fraser]] 09:02, 2 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28429</id>
		<title>Talk:Using images in a theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Using_images_in_a_theme&amp;diff=28429"/>
		<updated>2010-10-02T09:02:44Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just had a quick browse through this, I have not tested this but are there file extensions missing in the examples?&lt;br /&gt;
&lt;br /&gt;
e.g. - &lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shouldn&#039;t this read -&lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
body {background-image:url([[pix:theme|gradient.png]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--Matthew Cannings&lt;br /&gt;
&lt;br /&gt;
No. It is intentional.&lt;br /&gt;
&lt;br /&gt;
It is not really important for theme images. After all, if you are making a theme, you probably do know what type your images are. However, suppose in your theme you want to override one of the standard icons, for example i/edit. Well, even though the standard images is i/edit.gif, you might want to replace it with i/edit.png in your theme, and you can, and Moodle will find the image as long as it is one of the supported formats. We use the same basic system for all images (theme, core and plugin) so that is why you must not specify the extension when you link to the image, and you can use any format you like.--[[User:Tim Hunt|Tim Hunt]] 18:50, 10 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
These documents are essentially for developers, but is there going to be a plainer version for us who do not speak the necessary jargon? --[[User:Colin Fraser|Colin Fraser]] 09:02, 2 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24217</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24217"/>
		<updated>2010-04-18T08:35:37Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Oh, and what is the &amp;quot;Other&amp;quot;??? IIS and Apache, and... What about Mac? Has anyone given any consideration to Macs?--[[User:Colin Fraser|Colin Fraser]] 08:35, 18 April 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I also found this M$ Knowledge base article that is about as clear as mud. However, it does name a variable that can be reset, all the user has to do is to find where the variable resides. I have linked the actual article, but it seems this variable is named in several places. Why can it not be simple? --[[User:Colin Fraser|Colin Fraser]] 08:32, 18 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I have found this little site that configures FastCGI, something I understand nothing about actually, but that has never stopped me in the past..:) I have included a link, I understand that is is connected to PHP and IIS, so it should be there. --[[User:Colin Fraser|Colin Fraser]] 11:29, 29 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
The revamp works a lot better than I proposed. The basic information and invitation to read on does what it should do, differentiates between people who know what they are doing, like a lot of network admins and superusers, and beginners without being patronizing, well done, whoever did it..:) --[[User:Colin Fraser|Colin Fraser]] 10:59, 18 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24216</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24216"/>
		<updated>2010-04-18T08:32:47Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I also found this M$ Knowledge base article that is about as clear as mud. However, it does name a variable that can be reset, all the user has to do is to find where the variable resides. I have linked the actual article, but it seems this variable is named in several places. Why can it not be simple? --[[User:Colin Fraser|Colin Fraser]] 08:32, 18 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I have found this little site that configures FastCGI, something I understand nothing about actually, but that has never stopped me in the past..:) I have included a link, I understand that is is connected to PHP and IIS, so it should be there. --[[User:Colin Fraser|Colin Fraser]] 11:29, 29 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
The revamp works a lot better than I proposed. The basic information and invitation to read on does what it should do, differentiates between people who know what they are doing, like a lot of network admins and superusers, and beginners without being patronizing, well done, whoever did it..:) --[[User:Colin Fraser|Colin Fraser]] 10:59, 18 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22321</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22321"/>
		<updated>2010-04-18T08:29:02Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
There seems to be a double whammy for IIS. Not only is there a restriction in file size uploads for PHP there is also one for IIS. To change the PHP limit is the same as is described above, at the start, change those two variables already mentioned. The next issue is with IIS. This comes from [http://msdn.microsoft.com/en-us/library/ms524953.aspx Microsoft&#039;s knowledge base.] Unfortunately, like most Microsoft documentation, it is not all that clear. &lt;br /&gt;
&lt;br /&gt;
  MaxRequestEntityAllowed&lt;br /&gt;
  The MaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of a request. &lt;br /&gt;
  If a Content-Length header is present and  specifies an amount of data greater than the value of &lt;br /&gt;
  MaxRequestEntityAllowed, IIS sends a 403 error response.&lt;br /&gt;
  &lt;br /&gt;
  The metabase represents unlimited as the DWORD value of 4294967295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &amp;amp;HFFFFFFFF. &lt;br /&gt;
  Previous versions of IIS represented unlimited as -1.&lt;br /&gt;
&lt;br /&gt;
There is a lot more, but this should provide you with the basic knowledge you need to be able to change the upload file size limits.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilize the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22320</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22320"/>
		<updated>2010-04-18T08:28:03Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
There seems to be a double whammy for IIS. Not only is there a restriction in file size uploads for PHP there is also one for IIS. To change the PHP limit is the same as is described above, at the start, change those two variables already mentioned. The next issue is with IIS. This comes from [http://msdn.microsoft.com/en-us/library/ms524953.aspx Microsoft&#039;s knowledge base.] &lt;br /&gt;
&lt;br /&gt;
  MaxRequestEntityAllowed&lt;br /&gt;
  The MaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of a request. &lt;br /&gt;
  If a Content-Length header is present and  specifies an amount of data greater than the value of &lt;br /&gt;
  MaxRequestEntityAllowed, IIS sends a 403 error response.&lt;br /&gt;
  &lt;br /&gt;
  The metabase represents unlimited as the DWORD value of 4294967295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &amp;amp;HFFFFFFFF. &lt;br /&gt;
  Previous versions of IIS represented unlimited as -1.&lt;br /&gt;
&lt;br /&gt;
There is a lot more, but this should provide you with the basic knowledge you need to be able to change the upload file size limits.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilize the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22319</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22319"/>
		<updated>2010-04-18T08:26:54Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
There seems to be a double whammy for IIS. Not only is there a restriction in file size uploads for PHP there is also one for IIS. To change the PHP limit is the same as is described above, at the start, change those two variables already mentioned. The next issue is with IIS. This comes from [http://msdn.microsoft.com/en-us/library/ms524953.aspx The dark side itself.] &lt;br /&gt;
&lt;br /&gt;
  MaxRequestEntityAllowed&lt;br /&gt;
  The MaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of a request. &lt;br /&gt;
  If a Content-Length header is present and  specifies an amount of data greater than the value of &lt;br /&gt;
  MaxRequestEntityAllowed, IIS sends a 403 error response.&lt;br /&gt;
  &lt;br /&gt;
  The metabase represents unlimited as the DWORD value of 4294967295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &amp;amp;HFFFFFFFF. &lt;br /&gt;
  Previous versions of IIS represented unlimited as -1.&lt;br /&gt;
&lt;br /&gt;
There is a lot more, but this should provide you with the basic knowledge you need to be able to change the ulopad file size limits.   &lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22318</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22318"/>
		<updated>2010-04-18T08:26:15Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
There seems to be a double whammy for IIS. Not only is there a restriction in file size uploads for PHP there is also one for IIS. To change the PHP limit is the same as is described above, at the start, change those two variables already mentioned. The next issue is with IIS. This comes from [http://msdn.microsoft.com/en-us/library/ms524953.aspx The dark side itself.] &lt;br /&gt;
&lt;br /&gt;
  MaxRequestEntityAllowed&lt;br /&gt;
  The MaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of a request. If a Content-Length header is present and  specifies an amount of data greater than the value of MaxRequestEntityAllowed, IIS sends a 403 error response.&lt;br /&gt;
  &lt;br /&gt;
  The metabase represents unlimited as the DWORD value of 4294967295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &amp;amp;HFFFFFFFF. &lt;br /&gt;
  Previous versions of IIS represented unlimited as -1.&lt;br /&gt;
&lt;br /&gt;
There is a lot more, but this should provide you with the basic knowledge you need to be able to change the ulopad file size limits.   &lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22317</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22317"/>
		<updated>2010-04-18T08:24:23Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
There seems to be a double whammy for IIS. Not only is there a restriction in file size uploads for PHP there is also one for IIS. To change the PHP limit is the same as is described above, at the start, change those two variables already mentioned. The next issue is with IIS. This comes from [http://msdn.microsoft.com/en-us/library/ms524953.aspx The dark side itself.] &lt;br /&gt;
&lt;br /&gt;
MaxRequestEntityAllowed&lt;br /&gt;
&lt;br /&gt;
The MaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of a request. If a Content-Length header is present and specifies an amount of data greater than the value of MaxRequestEntityAllowed, IIS sends a 403 error response.&lt;br /&gt;
&lt;br /&gt;
The metabase represents unlimited as the DWORD value of 4294967295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &amp;amp;HFFFFFFFF. Previous versions of IIS represented unlimited as -1.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22316</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22316"/>
		<updated>2010-04-18T07:50:49Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
Add the below to your .htaccess file &lt;br /&gt;
    * php_value upload_max_filesize 512M&lt;br /&gt;
    * php_value post_max_size 512M&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22315</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22315"/>
		<updated>2010-04-18T07:43:18Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Php.ini changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 512 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 512M&lt;br /&gt;
 post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
This may seem large, but do not forget, the Administrator can go to &#039;&#039;&#039;Front Page ► Administration ► Courses ► Course default settings&#039;&#039;&#039; and reset the maximum file upload size to whatever level required. It also means that if someone needs a maximum file size temporarily, say a multimedia teacher uploading a large file, the Administrator can reset these values in the same location, and set them back again later.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22314</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22314"/>
		<updated>2010-04-18T07:37:20Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Php.ini changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two variables.   In the example below, we found the following lines set the max file size to 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24215</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24215"/>
		<updated>2010-03-29T11:29:24Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I have found this little site that configures FastCGI, something I understand nothing about actually, but that has never stopped me in the past..:) I have included a link, I understand that is is connected to PHP and IIS, so it should be there. --[[User:Colin Fraser|Colin Fraser]] 11:29, 29 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
The revamp works a lot better than I proposed. The basic information and invitation to read on does what it should do, differentiates between people who know what they are doing, like a lot of network admins and superusers, and beginners without being patronizing, well done, whoever did it..:) --[[User:Colin Fraser|Colin Fraser]] 10:59, 18 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22313</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22313"/>
		<updated>2010-03-29T11:26:50Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two vairables.   In the example below, we found the following lines set the mex file size to 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
&lt;br /&gt;
====FastCGI====&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22312</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22312"/>
		<updated>2010-03-29T11:25:29Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two vairables.   In the example below, we found the following lines set the mex file size to 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
To make PHP work a little better in IIS, you can utilise the FastCGI component, information about which can be found in this [http://www.iis.net/ConfigReference/system.webServer/fastCgi php.iis.net] site.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24214</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24214"/>
		<updated>2010-03-18T10:59:42Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
The revamp works a lot better than I proposed. The basic information and invitation to read on does what it should do, differentiates between people who know what they are doing, like a lot of network admins and superusers, and beginners without being patronizing, well done, whoever did it..:) --[[User:Colin Fraser|Colin Fraser]] 10:59, 18 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22311</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22311"/>
		<updated>2010-03-18T10:55:34Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Php.ini changes==&lt;br /&gt;
Here are the changes you might make to a php.ini file.   For those who need more information, please continue reading other sections in this page.&lt;br /&gt;
&lt;br /&gt;
After find the correct php.ini file, look for and change two vairables.   In the example below, we found the following lines set the mex file size to 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
For those who are continuing on and need more information, you may need to find the php.ini file that controls the size of the upload files.&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
The easiest way to find the location of the controlling php.ini files in Moodle 1.7 onward is to call up Site administration block&amp;gt;Server&amp;gt;PHP info. This will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Installing Moodle/Creating custom php.ini files]]&lt;br /&gt;
*[[Beginning Administration FAQ]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24213</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24213"/>
		<updated>2010-03-18T10:52:02Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24212</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24212"/>
		<updated>2010-03-18T09:34:11Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
::This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc, if that is OK with you and Jon, if he is interested, and whoever wrote the php ini files doc, of course. --[[User:Colin Fraser|Colin Fraser]] 09:34, 18 March 2010 (UTC). &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24211</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24211"/>
		<updated>2010-03-18T09:32:10Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
::the two docs being ??  Just to make sure we are clear with each other :)--[[User:chris collman|chris collman]] 19:56, 17 March 2010 (UTC)&lt;br /&gt;
;;This one [[Installing Moodle/Creating custom php.ini files]] and the upload file sizes doc. &lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24209</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24209"/>
		<updated>2010-03-16T11:36:47Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Chris, I looked at that, what a great idea, can we develop these two docs to make some serious sense? It would certainly make doing this one a lot easier, and smaller. What do you think Jon? --[[User:Colin Fraser|Colin Fraser]] 11:36, 16 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
----&lt;br /&gt;
Just noticed [[Installing Moodle/Creating custom php.ini files]] a subpage created by Marc and visited by Jon.   Plus the Administration FAQs have a section.  I think the FAQ can be reduced once we get our version of this page together.  I did put a link to the File upload size page.--[[User:chris collman|chris collman]] 15:33, 14 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24207</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24207"/>
		<updated>2010-03-13T12:40:22Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but for me, the issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24206</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24206"/>
		<updated>2010-03-13T12:39:37Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Hi Jon, I do not disagree with your logic, and did consider it, but the for me issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24205</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24205"/>
		<updated>2010-03-13T12:38:40Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I do not disagree with your logic, and did consider it, but the for me issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. BTW, if I have it right, IIS uses the php.ini file in the same way as Apache, and it is directly editable. I am going to test this out as soon as I get a new machine and turn my oldest one into a server. I am thinking of creating a Linux box with a Windows virtual server, but time is against me at the moment.--[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24204</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24204"/>
		<updated>2010-03-13T12:33:20Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Colin,&lt;br /&gt;
&lt;br /&gt;
I am not to happy with that generic statement. There are far too many users that will not have access to the php.ini file and this could just lead to confusion. We need to be able to guide the user to how their particular server set-up is configured first; and then instruct them what changes to make, or we will be making the issue worse. [[User:Jon Witts|Jon Witts]] 09:19, 13 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I do not disagree with your logic, and did consider it, but the for me issue is still that users can be drowned in detail before they get to what they are looking for. Suggest we consider the other option, give them the information first, then explain how it works. --[[User:Colin Fraser|Colin Fraser]] 12:33, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24202</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24202"/>
		<updated>2010-03-13T08:57:51Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
Jon, I certainly agree with your last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24201</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24201"/>
		<updated>2010-03-13T08:57:20Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I added a short generic comment about what needs be changed, I suggest that this comes first, irrespective of anything else. The way it was there was no mention of what needs be changed until well down the page. The structure this imposes makes what follows a little awkward, or rather what I put in is awkward and does not sit well there, but that is where I think it needs to be. My wording is a little clumsy, and may not be technically correct, so please yourself. Cheers.--[[User:Colin Fraser|Colin Fraser]] 08:57, 13 March 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22306</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22306"/>
		<updated>2010-03-13T08:53:37Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Basic Changes==&lt;br /&gt;
&lt;br /&gt;
The fundamental changes to increase file upload sizes are simple and fairly straightforward, but unfortunately, it is not always simple or straightforward to achieve the changes required. In the php.ini file, look for these values and change them to suit your need: &lt;br /&gt;
&lt;br /&gt;
  upload_max_filesize = 512M&lt;br /&gt;
  post_max_size = 512M&lt;br /&gt;
&lt;br /&gt;
These values control the file upload size but can be overwritten or otherwise ignored by the Server by different methods. What follows is a far more detailed explanation of what you may actually find and how to increase the size of the files you can upload in Moodle.  &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. You will need to find out where the active php.ini is located and if another program is over riding it to make changes that will work.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24200</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24200"/>
		<updated>2010-03-12T09:12:55Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)   &lt;br /&gt;
        &lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24199</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24199"/>
		<updated>2010-03-12T09:11:29Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comments from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
Later: The question &amp;quot;How is php running on your web server?&amp;quot;, to me, looks to be a loaded question, like &amp;quot;when did you stop beating your wife?&amp;quot;, or an open ended question, like &amp;quot;how far is up?&amp;quot; or perhaps it is one of those golf ball questions, get a strand and it does not stop unraveling. I would suggest this is, perhaps, worthy of a page on its own. This seems to be getting into the seriously technical aspects of PHP which may not be appropriate on this page. I like the idea of an explanation, but if it is going to appear in Moodle Docs, then it had better be right, detailed enough to be accurate, and simple enough in language so most people can grasp its concepts easily. This is a hugely demanding task, and is certainly outside my abilities.--[[User:Colin Fraser|Colin Fraser]] 09:11, 12 March 2010 (UTC)   &lt;br /&gt;
&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)           &lt;br /&gt;
  &lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22305</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22305"/>
		<updated>2010-03-12T08:55:36Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Course Settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22304</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22304"/>
		<updated>2010-03-12T08:55:02Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Site Policies]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Forum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22303</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22303"/>
		<updated>2010-03-12T08:54:40Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes can be restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File upload size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies|Site Policies]]&lt;br /&gt;
#Course level - [[Course_settings|Site Policies]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum|Adding/Editing a Froum]], [[Upload_a_single_file_assignment|Upload a Single File Assignment]] and [[Advanced_uploading_of_files_assignment|Advanced Uploading of Files Assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.&lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22302</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22302"/>
		<updated>2010-03-12T08:45:41Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes are restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File_upload_size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies]]&lt;br /&gt;
#Course level - [[Course_settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum]], [[Upload_a_single_file_assignment]] and [[Advanced_uploading_of_files_assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.  &lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to override the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24198</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24198"/>
		<updated>2010-03-11T21:16:27Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comment from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comments from Colin==&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)           &lt;br /&gt;
  &lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24197</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24197"/>
		<updated>2010-03-11T21:11:45Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comment from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment from Colin==&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. This also has implications for the next part too.  &lt;br /&gt;
&lt;br /&gt;
I doubt there should be any consideration of PHP 4.x apart from the general comment that &amp;quot;what is included here is suitable for later versions of Moodle, post 1.7 PHP 5.x and higher.&amp;quot; I do understand that some people are still using older versions, and are unwilling to upgrade, but at what point can they no longer be supported? We could tear our hair out arguing this, but I suggest seriously that a line be drawn and it be acknowledged that older versions are excluded. We all run into this issue, and we should be mindful of the huge changes to be made in the next major upgrade. A lot of what is being written now is going to be obsolete within the year - which will bring further challenge to what we think we should be supporting or not. &lt;br /&gt;
&lt;br /&gt;
To get back on point, there is three references to finding the PHP info, suggest it be shrunk into one. One line to deal with using the PHP Infor link in Administration &amp;gt; Server and the other the link to the manual creation of the php info file. Oops, Late for work now.. cheers --[[User:Colin Fraser|Colin Fraser]] 21:11, 11 March 2010 (UTC)           &lt;br /&gt;
  &lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24196</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24196"/>
		<updated>2010-03-11T20:59:20Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: /* Comment from Colin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note from Jon to Colin==&lt;br /&gt;
Hi Colin,&lt;br /&gt;
&lt;br /&gt;
I am editing the links as I type, and I too was thinking about the overall size and complexity of this page. What I am aiming to do with this is get a single Docs page that gives people the information needed to set their server up to allow greater file size uploads. The language and settings should transcend OS and / or web server versions; as we are dealing with either / or Apache and PHP settings; these are common across all OS.&lt;br /&gt;
&lt;br /&gt;
Where we are going to run into difficulty is going to be trying to provide a document for all the hundreds of variations of ways of doing this on hosted servers. I think for these cases we need to arm the reader with enough information to take back to their hosting provider to find out how they will allow it to be done... [[User:Jon Witts|Jon Witts]] 21:24, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment from Colin==&lt;br /&gt;
I certainly agree with that last comment, the myriad of servers is creating a myriad of problems. This is going to mean that whatever is written has to be as generic as possible, which will not please anyone. &lt;br /&gt;
  &lt;br /&gt;
Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Comment by Chris==&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;br /&gt;
&lt;br /&gt;
==Chris jumped in==&lt;br /&gt;
Hi spent some time this morning with my coffee doing edits.  I check some local hosts of mine from 1.6 to 1.9.7, plus looked a &amp;quot;popular&amp;quot; webhosting service that uses cpanel and another 1.9.7 production site.   I ran out of time, but you can see where I am going and that I am learning some stuff.&lt;br /&gt;
&lt;br /&gt;
*I have not run the phpinfo() script, but note that Moodle will give this info from 1.7 onward, so I would put the emphasis there.  Jon will need to state where information is about API is and the key php.ini file. &lt;br /&gt;
*Not sure if we should worry about PHP 4.x but why not.&lt;br /&gt;
*I gather the Server API adds more potential variables, at this moment I am not sure how to treat them in an outline.   My &amp;quot;popular&amp;quot; webhost uses CGI/FastCGI, they told me to set the cpanel PHP Config program to &amp;quot;single php.ini&amp;quot; and it told me the active file there.   Later I saw our documentation that talked about php 5.x and one file, which meant I was messing with the wrong one :)&lt;br /&gt;
*My vague understanding is that Apache as an API uses .htaccess to override php.ini .  However, my &amp;quot;popular&amp;quot; would not let me modify this file in the moodle code directory. I did not try to modify it elsewhere. &lt;br /&gt;
&lt;br /&gt;
Best --[[User:chris collman|chris collman]] 13:17, 9 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22301</id>
		<title>User:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Jon_Witts/file-upload-v2&amp;diff=22301"/>
		<updated>2010-03-11T20:55:42Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Probably the most frequently asked question in the Moodle.org Using Moodle forums is &amp;quot;How do I increase the upload file size limit?&amp;quot; Uploading files in Moodle is controlled both externally, within the server environment, and internally by Moodle - this is the nature of the Internet and cannot be avoided.  While this page will primarily focus upon making changes in on the server environment, outside of the Moodle interface, it will also look at the changes you can make inside Moodle.  &lt;br /&gt;
&lt;br /&gt;
There are different web server operating systems, thus the method of increasing the uploaded file limit can be different in each.  Typically this process is controlled directly by PHP, but some web server systems can override php settings.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
File Upload sizes are restricted in a number of different places. The list below shows the order of inheritance that file upload sizes follow.&lt;br /&gt;
&lt;br /&gt;
#PHP Server level - [[File_upload_size|File_upload_size]] (which is this page)&lt;br /&gt;
#Moodle site level - [[Site_policies]]&lt;br /&gt;
#Course level - [[Course_settings]]&lt;br /&gt;
#Activity level - [[Adding/editing_a_forum]], [[Upload_a_single_file_assignment]] and [[Advanced_uploading_of_files_assignment]]&lt;br /&gt;
&lt;br /&gt;
As you can see, it is the PHP server level that has the greatest precedence. So to increase the file upload size in Moodle we must first adjust this setting. You will need to find out where the active php.ini is located and if another program is over riding it.  &lt;br /&gt;
&lt;br /&gt;
==Find php.ini control information==&lt;br /&gt;
&lt;br /&gt;
*In PHP 4.x there must be a php.ini file in every directory that has php scripts.&lt;br /&gt;
*In PHP 5.x there is only one php.ini file that is active.  There maybe many php.ini files on the server, but only one will effect the file upload size.  You can find this file by writing a php script or using the Moodle interface.&lt;br /&gt;
*Some Application Programming Interface (API) servers will handle php settings differently&lt;br /&gt;
&lt;br /&gt;
===Moodle php info===&lt;br /&gt;
In Moodle 1.7 onward, administrators run an information script by &lt;br /&gt;
Site administration block&amp;gt;Server&amp;gt;PHP info will run an information script. &lt;br /&gt;
&lt;br /&gt;
*Server API - shows the server type&lt;br /&gt;
*Configuration File (php.ini) Path - show the location of the file.&lt;br /&gt;
*Loaded Configuration File (if there)- will over ride the above location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Phpinfo script===&lt;br /&gt;
For Moodles prior to 1.7 or on  any server, you can create your own information page. Follow the instruction at [[phpinfo]] for more information.&lt;br /&gt;
&lt;br /&gt;
At the very top of the phpinfo page you will see the version of PHP that your server is running. &lt;br /&gt;
&lt;br /&gt;
* Loaded Modules: For example Apache2Handler &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==What web server are you using?==&lt;br /&gt;
===Apache===&lt;br /&gt;
If you are using an Apache web server you can use .htaccess files to over ride the php.ini settings, or you can edit the active php.ini files on your server.  Look for the API as Apache Handler.  After making changes, you will have to restart your server.&lt;br /&gt;
&lt;br /&gt;
===IIS===&lt;br /&gt;
.... edit php.ini ?! ...&lt;br /&gt;
===Other===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
==How is php running on your web server?==&lt;br /&gt;
PHP can interact with other programs on your web server.  If PHP is being controlled by an Apache Handler, you will have to restart your server.   The changes will take place immediately if you are running API server using say CGI/FastCGI .&lt;br /&gt;
&lt;br /&gt;
You can find out how your web server is running PHP by looking at:&lt;br /&gt;
*Site administration&amp;gt;Server&amp;gt;PHP info &amp;quot;Server API&amp;quot;  &lt;br /&gt;
*phpinfo page: Apache2Handler &amp;gt; Loaded Modules Section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===??===&lt;br /&gt;
&lt;br /&gt;
==What access do you have to the server?==&lt;br /&gt;
To make changes to the main php.ini file you will need administrative access to the server...&lt;br /&gt;
===Local / Full access to server===&lt;br /&gt;
...&lt;br /&gt;
===Shared / Hosted access to server===&lt;br /&gt;
==Hosted Server==&lt;br /&gt;
Things can be a little different with a hosted server for uploaded and downloaded file size.  You are probably going to  to be told to create or change a .htaccess file, or to modify a php.ini file.&lt;br /&gt;
&lt;br /&gt;
:It might be a good idea to talk to with your service provider before you attempt anything.  They probably have instructions on &amp;quot;how to&amp;quot; and may have their own limits for uploaded file size. Some hosts measure the file size in gigabytes and others in megabytes.  If you are unhappy with their limits, then check your contract and consider changing your provider to one that has a limit and price that you like.    &lt;br /&gt;
&lt;br /&gt;
===.htaccess with hosted server===&lt;br /&gt;
The one purpose of an .htaccess file is to override the the current limitations of both the server and the php.ini file.  Your hosted server should inform you where that file needs be placed in your Moodle, but generally in the root is sufficient. They should already have a standard file in place or you can copy it from another location.  &lt;br /&gt;
&lt;br /&gt;
To the .htaccess file find or add the lines:&lt;br /&gt;
  php_value upload_max_filesize 128M&lt;br /&gt;
  php_value post_max_size 128M&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
This will limit uploads to 128MB, but you can make it any size you agree with your provider. The wording may vary slightly, according to the demands of the server.&lt;br /&gt;
&lt;br /&gt;
===php.ini with hosted server===&lt;br /&gt;
Some servers will not allow you to change the moodle root .htaccess file and will tell you to use a php.ini file for php directives.  The steps are basically the same as we covered above and your host will probably be running PHP 5.x &lt;br /&gt;
*Locate the key php file.  It probably will not be located with your Moodle code.&lt;br /&gt;
*Using a file edit program, change the upload max and post max size in the active php file.&lt;br /&gt;
&lt;br /&gt;
For example we found the following lines and the max file size is 20 megabytes.  &lt;br /&gt;
&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
 post_max_size = 20M&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24192</id>
		<title>User talk:Jon Witts/file-upload-v2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User_talk:Jon_Witts/file-upload-v2&amp;diff=24192"/>
		<updated>2010-03-08T21:06:46Z</updated>

		<summary type="html">&lt;p&gt;ColinFraser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Jon,&lt;br /&gt;
I agree with Chris there, the placing of a link off to other pages for those elements makes sense, leads people to using the Docs a little better. This would also reduce the eventual size of this page a lot - something I have become more aware of recently as a consideration I should be making. &lt;br /&gt;
&lt;br /&gt;
The main block still, I suggest, should be first and that discusses what values need be changed, with a brief explanation of how those values control the upload process possibly, and what they can be changed to. These values, I think, are constant throughout Apache/PHP environment, and I am not sure what they would be in the IIS/PHP environment. Do they retain the same names throughout all environments? What differences are there between different Linux Apache implementations? Are there differences? Or is it just a matter of different approaches to editing?  Cheers. --[[User:Colin Fraser|Colin Fraser]] 21:06, 8 March 2010 (UTC)      &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi Jon,&lt;br /&gt;
I would put links to the list of levels (excellent) so users can view other pages.  &lt;br /&gt;
&lt;br /&gt;
Server level (this page)&lt;br /&gt;
Moodle site level (site administration block&amp;gt;security&amp;gt;site policies)&lt;br /&gt;
Course level (course administration block&amp;gt;settings&lt;br /&gt;
Activity level (for some activities, update activity link)&lt;br /&gt;
--[[User:chris collman|chris collman]] 20:44, 8 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Chris - good idea. I will add those links in... [[User:Jon Witts|Jon Witts]]&lt;/div&gt;</summary>
		<author><name>ColinFraser</name></author>
	</entry>
</feed>