private void MakeRecommendedPHPIniChanges() { var file = new PHPIniFile(PHPIniFilePath); file.Parse(); // Set the recommended php.ini settings var settings = new List<PHPIniSetting> { GetToApplyExtensionDir(), GetToApplyLogErrors(), GetToApplyErrorLog(file), GetToApplySessionPath(file), GetToApplyUploadTmpDir(file), GetToApplyDateTimeZone(file), GetToApplyCgiForceRedirect(), GetToApplyCgiPathInfo(), GetToApplyFastCgiImpersonate(), new PHPIniSetting("fastcgi.logging", "0", "PHP"), new PHPIniSetting("max_execution_time", "300", "PHP"), new PHPIniSetting("display_errors", "Off", "PHP") }; // Enable the most common PHP extensions var extensions = new List<PHPIniExtension> { new PHPIniExtension("php_curl.dll", true), new PHPIniExtension("php_gd2.dll", true), new PHPIniExtension("php_gettext.dll", true), new PHPIniExtension("php_mysql.dll", true), new PHPIniExtension("php_mysqli.dll", true), new PHPIniExtension("php_mbstring.dll", true), new PHPIniExtension("php_openssl.dll", true), new PHPIniExtension("php_soap.dll", true), new PHPIniExtension("php_xmlrpc.dll", true) }; file.UpdateExtensions(extensions); file.AddOrUpdateSettings(settings); file.Save(PHPIniFilePath); }
public void AddOrUpdatePHPIniSettings(IEnumerable<PHPIniSetting> settings) { EnsurePHPIsRegistered(); var file = new PHPIniFile(PHPIniFilePath); file.Parse(); file.AddOrUpdateSettings(settings); file.Save(file.FileName); }
public void UpdateExtensions(IEnumerable<PHPIniExtension> extensions) { EnsurePHPIsRegistered(); var file = new PHPIniFile(PHPIniFilePath); file.Parse(); file.UpdateExtensions(extensions); file.Save(file.FileName); }
private void ApplyRecommendedPHPIniSettings(ArrayList configIssueIndexes) { var file = new PHPIniFile(PHPIniFilePath); file.Parse(); var settings = new List<PHPIniSetting>(); foreach (int configIssueIndex in configIssueIndexes) { switch (configIssueIndex) { case PHPConfigIssueIndex.ExtensionDir: { settings.Add(GetToApplyExtensionDir()); break; } case PHPConfigIssueIndex.LogErrors: { settings.Add(GetToApplyLogErrors()); break; } case PHPConfigIssueIndex.ErrorLog: { settings.Add(GetToApplyErrorLog(file)); break; } case PHPConfigIssueIndex.SessionPath: { settings.Add(GetToApplySessionPath(file)); break; } case PHPConfigIssueIndex.UploadDir: { settings.Add(GetToApplyUploadTmpDir(file)); break; } case PHPConfigIssueIndex.CgiForceRedirect: { settings.Add(GetToApplyCgiForceRedirect()); break; } case PHPConfigIssueIndex.CgiPathInfo: { settings.Add(GetToApplyCgiPathInfo()); break; } case PHPConfigIssueIndex.FastCgiImpersonation: { settings.Add(GetToApplyFastCgiImpersonate()); break; } case PHPConfigIssueIndex.DateTimeZone: { settings.Add(GetToApplyDateTimeZone(file)); break; } } } if (settings.Count > 0) { file.AddOrUpdateSettings(settings); file.Save(PHPIniFilePath); } }
public void RemovePHPIniSetting(PHPIniSetting setting) { EnsurePHPIsRegistered(); var file = new PHPIniFile(PHPIniFilePath); file.Parse(); if (file.Remove(setting)) { file.Save(file.FileName); } }
public void AddOrUpdatePHPIniSettings(IEnumerable<PHPIniSetting> settings) { Debug.Assert(IsPHPRegistered()); PHPIniFile file = new PHPIniFile(PHPIniFilePath); file.Parse(); file.AddOrUpdateSettings(settings); file.Save(file.FileName); }
public void UpdateExtensions(IEnumerable<PHPIniExtension> extensions) { Debug.Assert(IsPHPRegistered()); PHPIniFile file = new PHPIniFile(PHPIniFilePath); file.Parse(); file.UpdateExtensions(extensions); file.Save(file.FileName); }
public void RemovePHPIniSetting(PHPIniSetting setting) { Debug.Assert(IsPHPRegistered()); PHPIniFile file = new PHPIniFile(PHPIniFilePath); file.Parse(); if (file.Remove(setting)) { file.Save(file.FileName); } }
private void ApplyRecommendedPHPIniSettings() { string phpDirectory = Path.GetDirectoryName(_currentPHPHandler.ScriptProcessor); string handlerName = _currentPHPHandler.Name; string phpIniPath = GetPHPIniPath(); PHPIniFile file = new PHPIniFile(phpIniPath); file.Parse(); // Set the recommended php.ini settings List<PHPIniSetting> settings = new List<PHPIniSetting>(); // Set extension directory path string value = Path.Combine(phpDirectory, "ext"); settings.Add(new PHPIniSetting("extension_dir", value, "PHP")); // Set log_errors settings.Add(new PHPIniSetting("log_errors", "On", "PHP")); // Set error_log path value = Path.Combine(Environment.ExpandEnvironmentVariables(@"%WINDIR%\Temp\"), handlerName + "_errors.log"); settings.Add(new PHPIniSetting("error_log", value, "PHP")); // Set session path value = Environment.ExpandEnvironmentVariables(@"%WINDIR%\Temp\"); settings.Add(new PHPIniSetting("session.save_path", value, "Session")); // Set cgi.force_redirect settings.Add(new PHPIniSetting("cgi.force_redirect", "0", "PHP")); // Set cgi.fix_pathinfo settings.Add(new PHPIniSetting("cgi.fix_pathinfo", "1", "PHP")); // Enable fastcgi impersonation settings.Add(new PHPIniSetting("fastcgi.impersonate", "1", "PHP")); // Disable fastcgi logging settings.Add(new PHPIniSetting("fastcgi.logging", "0", "PHP")); // Set maximum script execution time settings.Add(new PHPIniSetting("max_execution_time", "300", "PHP")); // Turn off display errors settings.Add(new PHPIniSetting("display_errors", "Off", "PHP")); file.AddOrUpdateSettings(settings); // Enable the most common PHP extensions List<PHPIniExtension> extensions = new List<PHPIniExtension>(); extensions.Add(new PHPIniExtension("php_curl.dll", true)); extensions.Add(new PHPIniExtension("php_gd2.dll", true)); extensions.Add(new PHPIniExtension("php_gettext.dll", true)); extensions.Add(new PHPIniExtension("php_mysql.dll", true)); extensions.Add(new PHPIniExtension("php_mysqli.dll", true)); extensions.Add(new PHPIniExtension("php_mbstring.dll", true)); extensions.Add(new PHPIniExtension("php_openssl.dll", true)); extensions.Add(new PHPIniExtension("php_soap.dll", true)); extensions.Add(new PHPIniExtension("php_xmlrpc.dll", true)); file.UpdateExtensions(extensions); file.Save(phpIniPath); }