How would one increase the PHP execution time in the ISPCONFIG interface? I added the following to the website apache directives: php_admin_value max_execution_time = 200 The rest of my APACHE DIRECTIVES are: Code: php_admin_value disable_functions "show_source system shell_exec passthru exec phpinfo popen proc_open" php_admin_flag allow_url_fopen Off <Directory /var/www/clients/client1/web8/web/> AllowOverride All </Directory> However, that did not work. Adding that decreased the default 120 to 30 seconds. I tried php_admin_value max_execution_time 200 and I tried php_admin_value max_execution_time "200" Thoughts? I realized that ISPCONFIG is not looking at .htaccess in the websites base directory. I had set stuff there that isn't being used. Code: cat .htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> php_value memory_limit 64M php_value max_execution_time 450 How can I get either APACHE DIRECTIVES to be looked at or .htaccess OR both?
ISPConfig is the controlpanel and not the webserver. The webserver is apache and .htaccess files are configuration files of the apache webserver. Apache is reading the .htaccess files on a ispconfig server when you put them into a directory which is inside the vhost, e.g. in the "web" directory which is the root directory of the vhost. What you should check is that you have allowed apache to read these settings from a .htaccess file by setting AllowOverride to "all" on the options tab of the website settings. Both locations are always used by apache.
I realize ISPCONFIG isn't a webserver, but the settings I've created aren't being used by Apache. I'm using FAST-CGI. My "OPTIONS" for the website has had the "AllowOverride All" for months and it has not worked. And, I do mean where it says AllowOverride: I have ALL in the box. My ISPCONFIG-set Apache Directive shows: Code: php_admin_value disable_functions "show_source system shell_exec passthru exec phpinfo popen proc_open" php_admin_flag allow_url_fopen Off <Directory /var/www/clients/client1/web8/web/> AllowOverride All </Directory>
php_admin_value and php_admin_flag are functions of the apache module mod_php. So they work only for mod_php and not fast-cgi or cgi PHP.
Those have been in there since I used MOD_PHP, which you recommend I drop for FAST-CGI as I'm running Wordpress sites. I will delete those entries. But, I need to get the actual PHP execution time to work. So, I need to get that .htaccess actually being read.
As I told you above, php_admin_value and php_admin_flag are for mod_php only. It does not matter where you add them, they can not work for fast-cgi. For fast-cgi, you use other techniques you work e.g. with custom php.ini files: http://bugtracker.ispconfig.org/index.php?do=details&task_id=1079
Till I understand that and AM NOT using them any longer. Is there no way to override the time limit for php max execution time aside from creating a specific PHP.INI per site? The .htaccess entry won't work? "php_value max_execution_time 450" It isn't a php_admin_value.
Some newer php versions have a .htaccess scanner extension included, personally I would never use it in a hosting enviroment as it allows the users to circumvet most security settings. So using a .htscanner extension is only an option for internal dev servers or private servers that dont allow access by clients. Thats why all Linux distributions disable it by default in php.ini. It depends on the php version (> 5.3 nescessary) and the settings that you have in the php.ini file if you can use the .htaccess scanner. I posted you already the Link to a better way to use custom settings with fast-cgi. So please read the bugtracker thread that I posted above.
Till, I'm not quite sure how this is to be implemented. Please help enlighten me. 1) create /var/www/php-fcgi-scripts/ 2) copy /etc/php.ini into above directory 3) create subdirectories webXX for all domains that will have custom php (web11, web13, web20, web39) 4) create file .php-fcgi-starter and add the following code: Code: #!/bin/sh PHPRC="<tmpl_var name='php_ini_path'>" export PHPRC PHP_DOCUMENT_ROOT="<tmpl_var name='document_root'>" export PHP_DOCUMENT_ROOT # The variable PHP_FCGI_CHILDREN is onyl useful for lighty or nginx as apache # mod_fcgi will control the number of childs themself and never use the additional processes. # PHP_FCGI_CHILDREN=<tmpl_var name='php_fcgi_children'> # export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=<tmpl_var name='php_fcgi_max_requests'> export PHP_FCGI_MAX_REQUESTS # merge main and local configuraton files FILECONF="php-local.ini" rm -f ${FILECONF} cat ${PHPRC}php.ini php.ini > ${FILECONF} chmod 444 ${FILECONF} exec <tmpl_var name='php_fcgi_bin'> \ <tmpl_if name="security_level" op="==" value="20"> -d open_basedir="<tmpl_var name='open_basedir'>" \ -d upload_tmp_dir=<tmpl_var name='document_root'>/tmp \ -d session.save_path=<tmpl_var name='document_root'>/tmp \ </tmpl_if> -c ${FILECONF} $1 5) in subdirectories, create php-local.ini files and add variables that are wanted: Code: max_execution_time = 300 max_file_size = 30M But, what next? How does this get inserted into the apache directives generated by ISPCONFIG? I'd love to see a standard guide for this. I did message the original poster on this process, but never heard back. Please, help me out. I'm sure others would love to know the step-by-step as well.
Steps 1-3: not nescessary as these folders and the fcgi starter script are created by ispconfig when you select fcgi as php method. The only thing that you have to do is to modify the fcgi starter script master template in /usr/local/ispconfig/server/conf/ so that it matches the file in 4). 5) yes. This is already implemented in ispconfig 3.0.3 as you can see in the feature request item, so there will be no guide for it as no manual changes are needed for ispconfig >= 3.0.3