Saltstack Official PHP Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

892 lines
38KB

  1. {% if salt['pillar.get']('php:ng:version')|string == '7.0' %}
  2. {% set php = salt['pillar.get']('php:ng', {
  3. 'lookup': salt['grains.filter_by']({
  4. 'Debian': {
  5. 'pkgs': {
  6. 'apcu': 'php-apcu',
  7. 'php': 'php7.0',
  8. 'cgi': 'php7.0-cgi',
  9. 'cli': 'php7.0-cli',
  10. 'apache2': 'libapache2-mod-php7.0',
  11. 'curl': 'php7.0-curl',
  12. 'fpm': 'php7.0-fpm',
  13. 'hhvm': 'hhvm',
  14. 'gd': 'php7.0-gd',
  15. 'gmp': 'php7.0-gmp',
  16. 'mbstring': 'php7.0-mbstring',
  17. 'mcrypt': 'php7.0-mcrypt',
  18. 'mysql': 'php7.0-mysql',
  19. 'pspell': 'php7.0-pspell',
  20. 'redis': 'php7.0-redis',
  21. 'snmp': 'php7.0-snmp',
  22. 'soap': 'php7.0-soap',
  23. 'sqlite': 'php7.0-sqlite3',
  24. 'xdebug': 'php7.0-xdebug',
  25. 'xsl': 'php7.0-xsl',
  26. 'xml': 'php7.0-xml',
  27. 'zip': 'php7.0-zip',
  28. 'imap': 'php7.0-imap',
  29. 'pgsql': 'php7.0-pgsql',
  30. 'ldap': 'php7.0-ldap',
  31. 'json': 'php7.0-json'
  32. },
  33. 'fpm': {
  34. 'conf': '/etc/php/7.0/fpm/php-fpm.conf',
  35. 'ini': '/etc/php/7.0/fpm/php.ini',
  36. 'pools': '/etc/php/7.0/fpm/pool.d',
  37. 'service': 'php7.0-fpm',
  38. 'defaults': odict([
  39. ('global', odict([
  40. ('pid', '/var/run/php7.0-fpm.pid'),
  41. ('error_log', '/var/log/php7.0-fpm.log'),
  42. ])),
  43. ('include', '/etc/php/7.0/fpm/pool.d/*.conf'),
  44. ]),
  45. },
  46. 'hhvm': {
  47. 'conf': '/etc/hhvm/server.ini',
  48. 'ini': '/etc/hhvm/php.ini',
  49. 'service': 'hhvm',
  50. 'defaults': {},
  51. 'server': odict([
  52. ('pid', '/var/run/hhvm/pid'),
  53. ('hhvm.server.port', '9000'),
  54. ('hhvm.server.type', 'fastcgi'),
  55. ('hhvm.server.default_document', 'index.php'),
  56. ('hhvm.log.use_log_file', 'true'),
  57. ('hhvm.log.file', '/var/log/hhvm/error.log'),
  58. ('hhvm.repo.central.path', '/var/run/hhvm/hhvm.hhbc'),
  59. ]),
  60. 'php': odict([
  61. ('session.save_handler', 'files'),
  62. ('session.save_path', '/var/lib/hhvm/sessions'),
  63. ('session.gc_maxlifetime', '1440'),
  64. ('hhvm.log.level', 'Warning'),
  65. ('hhvm.log.always_log_unhandled_exceptions', 'true'),
  66. ('hhvm.log.runtime_error_reporting_level', '8191'),
  67. ('hhvm.mysql.typed_results', 'false'),
  68. ]),
  69. },
  70. 'cli': {
  71. 'ini': '/etc/php/7.0/cli/php.ini',
  72. },
  73. 'apache2': {
  74. 'ini': '/etc/php/7.0/apache2/php.ini',
  75. },
  76. },
  77. }),
  78. 'fpm': {
  79. 'service': {
  80. 'enabled': True,
  81. 'opts': {},
  82. },
  83. 'config': {
  84. 'ini': {
  85. 'opts': {},
  86. 'settings': {},
  87. },
  88. 'conf': {
  89. 'opts': {},
  90. 'settings': {},
  91. },
  92. },
  93. 'pools': {},
  94. },
  95. 'hhvm': {
  96. 'service': {
  97. 'enabled': True,
  98. 'opts': {},
  99. },
  100. 'config': {
  101. 'server': {
  102. 'opts': {},
  103. 'settings': {},
  104. },
  105. 'php': {
  106. 'opts': {},
  107. 'settings': {},
  108. },
  109. },
  110. },
  111. 'cli': {
  112. 'ini': {
  113. 'opts': {},
  114. 'settings': {},
  115. }
  116. },
  117. 'apache2': {
  118. 'ini': {
  119. 'opts': {},
  120. 'settings': {},
  121. }
  122. },
  123. 'ini': {
  124. 'defaults': {
  125. 'PHP': {
  126. 'engine': 'On',
  127. 'short_open_tag': 'Off',
  128. 'asp_tags': 'Off',
  129. 'precision': 14,
  130. 'output_buffering': 4096,
  131. 'zlib.output_compression': 'Off',
  132. 'implicit_flush': 'Off',
  133. 'serialize_precision': 17,
  134. 'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
  135. 'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
  136. 'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'],
  137. 'zend.enable_gc': 'On',
  138. 'expose_php': 'On',
  139. 'max_execution_time': 30,
  140. 'max_input_time': 60,
  141. 'max_input_nesting_level': 64,
  142. 'max_input_vars': 1000,
  143. 'memory_limit': '128M',
  144. 'error_reporting': ['E_ALL', '~E_DEPRECATED', '~E_STRICT'],
  145. 'display_errors': 'Off',
  146. 'display_startup_errors': 'Off',
  147. 'log_errors': 'On',
  148. 'log_errors_max_len': 1024,
  149. 'ignore_repeated_errors': 'Off',
  150. 'ignore_repeated_source': 'Off',
  151. 'report_memleaks': 'On',
  152. 'track_errors': 'Off',
  153. 'html_errors': 'On',
  154. 'variables_order': 'GPCS',
  155. 'request_order': 'GP',
  156. 'register_argc_argv': 'Off',
  157. 'auto_globals_jit': 'On',
  158. 'post_max_size': '8M',
  159. 'default_mimetype': '"text/html"',
  160. 'enable_dl': 'Off',
  161. 'file_uploads': 'On',
  162. 'upload_max_filesize': '2M',
  163. 'max_file_uploads': 20,
  164. 'allow_url_fopen': 'On',
  165. 'allow_url_include': 'Off',
  166. 'default_socket_timeout': 60
  167. },
  168. 'CLI Server': {
  169. 'cli_server.color': 'On'
  170. },
  171. 'Date': {
  172. 'date.timezone': 'America/New_York'
  173. },
  174. 'Pdo_mysql': {
  175. 'pdo_mysql.cache_size': 2000
  176. },
  177. 'mail function': {
  178. 'SMTP': 'localhost',
  179. 'mail.add_x_header': 'On'
  180. },
  181. 'SQL': {
  182. 'sql.safe_mode': 'Off'
  183. },
  184. 'ODBC': {
  185. 'odbc.allow_persistent': 'On',
  186. 'odbc.check_persistent': 'On',
  187. 'odbc.max_persistent': '-1',
  188. 'odbc.max_links': '-1',
  189. 'odbc.defaultlrl': 4096,
  190. 'odbc.defaultbinmode': 1
  191. },
  192. 'Interbase': {
  193. 'ibase.allow_persistent': 1,
  194. 'ibase.max_persistent': -1,
  195. 'ibase.max_links': -1,
  196. 'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"',
  197. 'ibase.dateformat': '"%Y-%m-%d"',
  198. 'ibase.timeformat': '"%H:%M:%S"'
  199. },
  200. 'MySQL': {
  201. 'mysql.allow_local_infile': 'On',
  202. 'mysql.allow_persistent': 'On',
  203. 'mysql.cache_size': '2000',
  204. 'mysql.max_persistent': -1,
  205. 'mysql.max_links': -1,
  206. 'mysql.connect_timeout': 60,
  207. 'mysql.trace_mode': 'Off'
  208. },
  209. 'MySQLi': {
  210. 'mysqli.max_persistent': -1,
  211. 'mysqli.allow_persistent': 'On',
  212. 'mysqli.max_links': -1,
  213. 'mysqli.cache_size': 2000,
  214. 'mysqli.default_port': 3306,
  215. 'mysqli.reconnect': 'Off'
  216. },
  217. 'mysqlnd': {
  218. 'mysqlnd.collect_statistics': 'On',
  219. 'mysqlnd.collect_memory_statistics': 'Off'
  220. },
  221. 'PostgreSQL': {
  222. 'pgsql.allow_persistent': 'On',
  223. 'pgsql.auto_reset_persistent': 'Off',
  224. 'pgsql.max_persistent': -1,
  225. 'pgsql.max_links': -1,
  226. 'pgsql.ignore_notice': 0,
  227. 'pgsql.log_notice': 0
  228. },
  229. 'Sybase-CT': {
  230. 'sybct.allow_persistent': 'On',
  231. 'sybct.max_persistent': -1,
  232. 'sybct.max_links': -1,
  233. 'sybct.min_server_severity': 10,
  234. 'sybct.min_client_severity': 10
  235. },
  236. 'bcmath': {
  237. 'bcmath.scale': 0
  238. },
  239. 'Session': {
  240. 'session.save_handler': 'files',
  241. 'session.use_strict_mode': 0,
  242. 'session.use_cookies': 1,
  243. 'session.use_only_cookies': 1,
  244. 'session.name': 'PHPSESSID',
  245. 'session.auto_start': 0,
  246. 'session.cookie_lifetime': 0,
  247. 'session.cookie_path': '/',
  248. 'session.serialize_handler': 'php',
  249. 'session.gc_probability': 0,
  250. 'session.gc_divisor': 1000,
  251. 'session.gc_maxlifetime': 1440,
  252. 'session.bug_compat_42': 'Off',
  253. 'session.bug_compat_warn': 'Off',
  254. 'session.cache_limiter': 'nocache',
  255. 'session.cache_expire': '180',
  256. 'session.use_trans_sid': 0,
  257. 'session.hash_function': 0,
  258. 'session.hash_bits_per_character': 5,
  259. 'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"'
  260. },
  261. 'MSSQL': {
  262. 'mssql.allow_persistent': 'On',
  263. 'mssql.max_persistent': -1,
  264. 'mssql.max_links': -1,
  265. 'mssql.min_error_severity': 10,
  266. 'mssql.min_message_severity': 10,
  267. 'mssql.compatibility_mode': 'Off',
  268. 'mssql.secure_connection': 'Off'
  269. },
  270. 'Tidy': {
  271. 'tidy.clean_output': 'Off'
  272. },
  273. 'soap': {
  274. 'soap.wsdl_cache_enabled': 1,
  275. 'soap.wsdl_cache_dir': '"/tmp"',
  276. 'soap.wsdl_cache_ttl': 86400,
  277. 'soap.wsdl_cache_limit': 5
  278. },
  279. 'ldap': {
  280. 'ldap.max_links': -1
  281. },
  282. },
  283. },
  284. }, merge=True) %}
  285. {% else %}
  286. {% if salt['grains.get']('os') == 'Ubuntu' %}
  287. {% if salt['grains.get']('osrelease')|string >= '16.04' %}
  288. {% set php = salt['pillar.get']('php:ng', {
  289. 'lookup': salt['grains.filter_by']({
  290. 'Ubuntu': {
  291. 'pkgs': {
  292. 'php': 'php',
  293. 'apc': 'php',
  294. 'apcu': 'php-apcu',
  295. 'cgi': 'php-cgi',
  296. 'cli': 'php-cli',
  297. 'oauth': 'php-oauth',
  298. 'apache2': 'libapache2-mod-php',
  299. 'curl': 'php-curl',
  300. 'fpm': 'php-fpm',
  301. 'hhvm': 'hhvm',
  302. 'gd': 'php-gd',
  303. 'gmp': 'php-gmp',
  304. 'geoip': 'php-geoip',
  305. 'intl': 'php-intl',
  306. 'mbstring': 'php-mbstring',
  307. 'mcrypt': 'php-mcrypt',
  308. 'memcache': 'php-memcache',
  309. 'memcached': 'php-memcached',
  310. 'mysql': 'php-mysql',
  311. 'mysqlnd': 'php',
  312. 'pear': 'php-pear',
  313. 'pspell': 'php-pspell',
  314. 'snmp': 'php-snmp',
  315. 'soap': 'php-soap',
  316. 'sqlite': 'php-sqlite3',
  317. 'xcache': 'php',
  318. 'xdebug': 'php-xdebug',
  319. 'xsl': 'php7.0-xsl',
  320. 'xml': 'php-xml',
  321. 'zip': 'php-zip',
  322. 'redis': 'php-redis',
  323. 'imagick': 'php-imagick',
  324. 'suhosin': 'php',
  325. 'imap': 'php-imap',
  326. 'adodb': 'php-adodb',
  327. 'pgsql': 'php-pgsql',
  328. 'ldap': 'php-ldap',
  329. 'json': 'php-json'
  330. },
  331. 'fpm': {
  332. 'conf': '/etc/php/7.0/fpm/php-fpm.conf',
  333. 'ini': '/etc/php/7.0/fpm/php.ini',
  334. 'pools': '/etc/php/7.0/fpm/pool.d',
  335. 'service': 'php7.0-fpm',
  336. 'defaults': odict([
  337. ('global', odict([
  338. ('pid', '/var/run/php7.0-fpm.pid'),
  339. ('error_log', '/var/log/php7.0-fpm.log'),
  340. ])),
  341. ('include', '/etc/php/7.0/fpm/pool.d/*.conf'),
  342. ]),
  343. },
  344. 'hhvm': {
  345. 'conf': '/etc/hhvm/server.ini',
  346. 'ini': '/etc/hhvm/php.ini',
  347. 'service': 'hhvm',
  348. 'defaults': {},
  349. 'server': odict([
  350. ('pid', '/var/run/hhvm/pid'),
  351. ('hhvm.server.port', '9000'),
  352. ('hhvm.server.type', 'fastcgi'),
  353. ('hhvm.server.default_document', 'index.php'),
  354. ('hhvm.log.use_log_file', 'true'),
  355. ('hhvm.log.file', '/var/log/hhvm/error.log'),
  356. ('hhvm.repo.central.path', '/var/run/hhvm/hhvm.hhbc'),
  357. ]),
  358. 'php': odict([
  359. ('session.save_handler', 'files'),
  360. ('session.save_path', '/var/lib/hhvm/sessions'),
  361. ('session.gc_maxlifetime', '1440'),
  362. ('hhvm.log.level', 'Warning'),
  363. ('hhvm.log.always_log_unhandled_exceptions', 'true'),
  364. ('hhvm.log.runtime_error_reporting_level', '8191'),
  365. ('hhvm.mysql.typed_results', 'false'),
  366. ]),
  367. },
  368. 'cli': {
  369. 'ini': '/etc/php/7.0/cli/php.ini',
  370. },
  371. 'apache2': {
  372. 'ini': '/etc/php/7.0/apache2/php.ini',
  373. },
  374. 'xcache': {
  375. 'ini': '/etc/php/7.0/mods-available/xcache.ini',
  376. 'defaults': {},
  377. },
  378. },
  379. }, grain="os"),
  380. }, merge=True) %}
  381. {% else %}
  382. {% set php = salt['pillar.get']('php:ng', {
  383. 'lookup': salt['grains.filter_by']({
  384. 'Ubuntu': {
  385. 'pkgs': {
  386. 'php': 'php5',
  387. 'apc': 'php-apc',
  388. 'apcu': 'php5-apcu',
  389. 'cgi': 'php5-cgi',
  390. 'cli': 'php5-cli',
  391. 'oauth': 'php5-oauth',
  392. 'apache2': 'libapache2-mod-php5',
  393. 'curl': 'php5-curl',
  394. 'gearman': 'php5-gearman',
  395. 'fpm': 'php5-fpm',
  396. 'hhvm': 'hhvm',
  397. 'gd': 'php5-gd',
  398. 'gmp': 'php5-gmp',
  399. 'geoip': 'php5-geoip',
  400. 'intl': 'php5-intl',
  401. 'mbstring': 'php5',
  402. 'mcrypt': 'php5-mcrypt',
  403. 'memcache': 'php5-memcache',
  404. 'memcached': 'php5-memcached',
  405. 'mysql': 'php5-mysql',
  406. 'mysqlnd': 'php5-mysqlnd',
  407. 'pear': 'php-pear',
  408. 'pspell': 'php5-pspell',
  409. 'snmp': 'php5-snmp',
  410. 'soap': 'php-soap',
  411. 'sqlite': 'php5-sqlite',
  412. 'xcache': 'php5-xcache',
  413. 'xdebug': 'php5-xdebug',
  414. 'xsl': 'php5-xsl',
  415. 'xml': 'php5',
  416. 'zip': 'php5',
  417. 'redis': 'php5-redis',
  418. 'imagick': 'php5-imagick',
  419. 'suhosin': 'php5-suhosin',
  420. 'imap': 'php5-imap',
  421. 'adodb': 'php5-adodb',
  422. 'pgsql': 'php5-pgsql',
  423. 'ldap': 'php5-ldap',
  424. 'json': 'php5-json'
  425. },
  426. 'fpm': {
  427. 'conf': '/etc/php5/fpm/php-fpm.conf',
  428. 'ini': '/etc/php5/fpm/php.ini',
  429. 'pools': '/etc/php5/fpm/pool.d',
  430. 'service': 'php5-fpm',
  431. 'defaults': odict([
  432. ('global', odict([
  433. ('pid', '/var/run/php5-fpm.pid'),
  434. ('error_log', '/var/log/php5-fpm.log'),
  435. ])),
  436. ('include', '/etc/php5/fpm/pool.d/*.conf'),
  437. ]),
  438. },
  439. 'hhvm': {
  440. 'conf': '/etc/hhvm/server.ini',
  441. 'ini': '/etc/hhvm/php.ini',
  442. 'service': 'hhvm',
  443. 'defaults': {},
  444. 'server': odict([
  445. ('pid', '/var/run/hhvm/pid'),
  446. ('hhvm.server.port', '9000'),
  447. ('hhvm.server.type', 'fastcgi'),
  448. ('hhvm.server.default_document', 'index.php'),
  449. ('hhvm.log.use_log_file', 'true'),
  450. ('hhvm.log.file', '/var/log/hhvm/error.log'),
  451. ('hhvm.repo.central.path', '/var/run/hhvm/hhvm.hhbc'),
  452. ]),
  453. 'php': odict([
  454. ('session.save_handler', 'files'),
  455. ('session.save_path', '/var/lib/hhvm/sessions'),
  456. ('session.gc_maxlifetime', '1440'),
  457. ('hhvm.log.level', 'Warning'),
  458. ('hhvm.log.always_log_unhandled_exceptions', 'true'),
  459. ('hhvm.log.runtime_error_reporting_level', '8191'),
  460. ('hhvm.mysql.typed_results', 'false'),
  461. ]),
  462. },
  463. 'cli': {
  464. 'ini': '/etc/php5/cli/php.ini',
  465. },
  466. 'apache2': {
  467. 'ini': '/etc/php5/apache2/php.ini',
  468. },
  469. 'xcache': {
  470. 'ini': '/etc/php5/mods-available/xcache.ini',
  471. 'defaults': {},
  472. },
  473. },
  474. }, grain="os"),
  475. }, merge=True) %}
  476. {% endif %}
  477. {% else %}
  478. {% set php = salt['pillar.get']('php:ng', {
  479. 'lookup': salt['grains.filter_by']({
  480. 'Debian': {
  481. 'pkgs': {
  482. 'php': 'php5',
  483. 'apc': 'php-apc',
  484. 'apcu': 'php5-apcu',
  485. 'cgi': 'php5-cgi',
  486. 'cli': 'php5-cli',
  487. 'oauth': 'php5-oauth',
  488. 'apache2': 'libapache2-mod-php5',
  489. 'curl': 'php5-curl',
  490. 'gearman': 'php5-gearman',
  491. 'fpm': 'php5-fpm',
  492. 'hhvm': 'hhvm',
  493. 'gd': 'php5-gd',
  494. 'gmp': 'php5-gmp',
  495. 'geoip': 'php5-geoip',
  496. 'intl': 'php5-intl',
  497. 'mbstring': 'php5',
  498. 'mcrypt': 'php5-mcrypt',
  499. 'memcache': 'php5-memcache',
  500. 'memcached': 'php5-memcached',
  501. 'mysql': 'php5-mysql',
  502. 'mysqlnd': 'php5-mysqlnd',
  503. 'pear': 'php-pear',
  504. 'pspell': 'php5-pspell',
  505. 'snmp': 'php5-snmp',
  506. 'soap': 'php-soap',
  507. 'sqlite': 'php5-sqlite',
  508. 'xcache': 'php5-xcache',
  509. 'xdebug': 'php5-xdebug',
  510. 'xsl': 'php5-xsl',
  511. 'xml': 'php5',
  512. 'zip': 'php5',
  513. 'redis': 'php5-redis',
  514. 'imagick': 'php5-imagick',
  515. 'suhosin': 'php5-suhosin',
  516. 'imap': 'php5-imap',
  517. 'adodb': 'php5-adodb',
  518. 'pgsql': 'php5-pgsql',
  519. 'ldap': 'php5-ldap',
  520. 'json': 'php5-json'
  521. },
  522. 'fpm': {
  523. 'conf': '/etc/php5/fpm/php-fpm.conf',
  524. 'ini': '/etc/php5/fpm/php.ini',
  525. 'pools': '/etc/php5/fpm/pool.d',
  526. 'service': 'php5-fpm',
  527. 'defaults': odict([
  528. ('global', odict([
  529. ('pid', '/var/run/php5-fpm.pid'),
  530. ('error_log', '/var/log/php5-fpm.log'),
  531. ])),
  532. ('include', '/etc/php5/fpm/pool.d/*.conf'),
  533. ]),
  534. },
  535. 'hhvm': {
  536. 'conf': '/etc/hhvm/server.ini',
  537. 'ini': '/etc/hhvm/php.ini',
  538. 'service': 'hhvm',
  539. 'defaults': {},
  540. 'server': odict([
  541. ('pid', '/var/run/hhvm/pid'),
  542. ('hhvm.server.port', '9000'),
  543. ('hhvm.server.type', 'fastcgi'),
  544. ('hhvm.server.default_document', 'index.php'),
  545. ('hhvm.log.use_log_file', 'true'),
  546. ('hhvm.log.file', '/var/log/hhvm/error.log'),
  547. ('hhvm.repo.central.path', '/var/run/hhvm/hhvm.hhbc'),
  548. ]),
  549. 'php': odict([
  550. ('session.save_handler', 'files'),
  551. ('session.save_path', '/var/lib/hhvm/sessions'),
  552. ('session.gc_maxlifetime', '1440'),
  553. ('hhvm.log.level', 'Warning'),
  554. ('hhvm.log.always_log_unhandled_exceptions', 'true'),
  555. ('hhvm.log.runtime_error_reporting_level', '8191'),
  556. ('hhvm.mysql.typed_results', 'false'),
  557. ]),
  558. },
  559. 'cli': {
  560. 'ini': '/etc/php5/cli/php.ini',
  561. },
  562. 'apache2': {
  563. 'ini': '/etc/php5/apache2/php.ini',
  564. },
  565. 'xcache': {
  566. 'ini': '/etc/php5/mods-available/xcache.ini',
  567. 'defaults': {},
  568. },
  569. },
  570. 'RedHat': {
  571. 'pkgs': {
  572. 'php': 'php',
  573. 'apc': 'php-pecl-apc',
  574. 'apcu': 'php-pecl-apcu',
  575. 'cgi': 'php-cgi',
  576. 'cli': 'php-cli',
  577. 'composer': 'composer',
  578. 'oauth': 'php-oauth',
  579. 'curl': ['php-common', 'curl'],
  580. 'fpm': 'php-fpm',
  581. 'gd': 'php-gd',
  582. 'intl': 'php-intl',
  583. 'mbstring': 'php-mbstring',
  584. 'mcrypt': 'php-mcrypt',
  585. 'memcache': 'php-pecl-memcache',
  586. 'memcached': 'php-pecl-memcached',
  587. 'opcache': 'php-pecl-zendopcache',
  588. 'mysql': 'php-mysql',
  589. 'mysqlnd': 'php-mysqlnd',
  590. 'pear': 'php-pear',
  591. 'snmp': 'php-snmp',
  592. 'soap': 'php-soap',
  593. 'sqlite': 'php5-sqlite',
  594. 'xcache': 'php-xcache',
  595. 'xml': 'php-xml',
  596. 'zip': 'php',
  597. 'redis': 'php-redis',
  598. 'imagick': 'php-imagick',
  599. 'suhosin': 'php-suhosin',
  600. 'imap': 'php-imap',
  601. 'adodb': 'php-adodb',
  602. 'pgsql': 'php-pgsql',
  603. 'ldap': 'php-ldap',
  604. 'json': 'php-common',
  605. },
  606. 'fpm': {
  607. 'conf': '/etc/php-fpm.conf',
  608. 'ini': '/etc/php.ini',
  609. 'pools': '/etc/php-fpm.d',
  610. 'service': 'php-fpm',
  611. 'defaults': {
  612. 'global': {
  613. 'pid': '/var/run/php-fpm/php-fpm.pid',
  614. 'error_log': '/var/log/php-fpm/error.log',
  615. },
  616. 'include': '/etc/php-fpm.d/*.conf',
  617. },
  618. },
  619. 'cli': {
  620. 'ini': '/etc/php.ini',
  621. },
  622. 'xcache': {
  623. 'ini': '/etc/php.d/xcache.ini',
  624. },
  625. },
  626. 'Suse': {
  627. 'pkgs': {
  628. 'php': 'php5',
  629. 'apache2': 'apache2-mod_php5',
  630. 'cli': 'php5',
  631. 'oauth': 'php5-oauth',
  632. 'curl': 'php5-curl',
  633. 'fpm': 'php5-fpm',
  634. 'gd': 'php5-gd',
  635. 'intl': 'php5-intl',
  636. 'mbstring': 'php5-mbstring',
  637. 'mcrypt': 'php5-mcrypt',
  638. 'mysql': 'php5-mysql',
  639. 'pear': 'php5-pear',
  640. 'snmp': 'php5-snmp',
  641. 'soap': 'php5-soap',
  642. 'sqlite': 'php5-sqlite',
  643. 'xml': ['php5-xmlreader','php5-xmlwriter','php5-xmlrpc'],
  644. 'zip': 'php5-zip',
  645. 'suhosin': 'php5-suhosin',
  646. 'imap': 'php5-imap',
  647. 'adodb': 'php5-dba',
  648. 'pgsql': 'php5-pgsql',
  649. 'ldap': 'php5-ldap',
  650. 'json': 'php5-json',
  651. },
  652. 'fpm': {
  653. 'conf': '/etc/php-fpm.conf',
  654. 'ini': '/etc/php.ini',
  655. 'pools': '/etc/php-fpm.d',
  656. 'service': 'php-fpm',
  657. 'defaults': {
  658. 'global': {
  659. 'pid': '/var/run/php-fpm/php-fpm.pid',
  660. 'error_log': '/var/log/php-fpm/error.log',
  661. },
  662. 'include': '/etc/php-fpm.d/*.conf',
  663. },
  664. },
  665. 'cli': {
  666. 'ini': '/etc/php.ini',
  667. },
  668. },
  669. },
  670. 'cli': {
  671. 'ini': {
  672. 'opts': {},
  673. 'settings': {},
  674. }
  675. },
  676. 'apache2': {
  677. 'ini': {
  678. 'opts': {},
  679. 'settings': {},
  680. }
  681. },
  682. 'xcache': {
  683. 'ini': {
  684. 'defaults': {
  685. 'xcache-common': {
  686. 'extension': 'xcache.so',
  687. },
  688. 'xcache.admin': {
  689. 'xcache.admin.enable_auth': 'On',
  690. },
  691. 'xcache': {
  692. 'xcache.shm_scheme': '"mmap"',
  693. 'xcache.size': '60M',
  694. 'xcache.count': '1',
  695. 'xcache.slots': '8K',
  696. 'xcache.ttl': '0',
  697. 'xcache.gc_interval': '0',
  698. 'xcache.var_size': '4M',
  699. 'xcache.var_count': '1',
  700. 'xcache.var_slots': '8K',
  701. 'xcache.var_ttl': '0',
  702. 'xcache.var_maxttl': '0',
  703. 'xcache.var_gc_interval': '300',
  704. 'xcache.var_namespace_mode': '0',
  705. 'xcache.var_namespace': '""',
  706. 'xcache.readonly_protection': 'Off',
  707. 'xcache.mmap_path': '"/dev/zero"',
  708. 'xcache.coredump_directory': '""',
  709. 'xcache.coredump_type': '0',
  710. 'xcache.disable_on_crash': 'Off',
  711. 'xcache.experimental': 'Off',
  712. 'xcache.cacher': 'On',
  713. 'xcache.stat': 'On',
  714. 'xcache.optimizer': 'Off',
  715. },
  716. 'xcache.coverager': {
  717. 'xcache.coverager': 'Off',
  718. 'xcache.coverager_autostart': 'On',
  719. 'xcache.coveragedump_directory': '""',
  720. },
  721. },
  722. 'opts': {},
  723. 'settings': {},
  724. }
  725. },
  726. 'ini': {
  727. 'defaults': {
  728. 'PHP': {
  729. 'engine': 'On',
  730. 'short_open_tag': 'Off',
  731. 'asp_tags': 'Off',
  732. 'precision': 14,
  733. 'output_buffering': 4096,
  734. 'zlib.output_compression': 'Off',
  735. 'implicit_flush': 'Off',
  736. 'serialize_precision': 17,
  737. 'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
  738. 'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
  739. 'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'],
  740. 'zend.enable_gc': 'On',
  741. 'expose_php': 'On',
  742. 'max_execution_time': 30,
  743. 'max_input_time': 60,
  744. 'max_input_nesting_level': 64,
  745. 'max_input_vars': 1000,
  746. 'memory_limit': '128M',
  747. 'error_reporting': ['E_ALL', '~E_DEPRECATED', '~E_STRICT'],
  748. 'display_errors': 'Off',
  749. 'display_startup_errors': 'Off',
  750. 'log_errors': 'On',
  751. 'log_errors_max_len': 1024,
  752. 'ignore_repeated_errors': 'Off',
  753. 'ignore_repeated_source': 'Off',
  754. 'report_memleaks': 'On',
  755. 'track_errors': 'Off',
  756. 'html_errors': 'On',
  757. 'variables_order': 'GPCS',
  758. 'request_order': 'GP',
  759. 'register_argc_argv': 'Off',
  760. 'auto_globals_jit': 'On',
  761. 'post_max_size': '8M',
  762. 'default_mimetype': '"text/html"',
  763. 'enable_dl': 'Off',
  764. 'file_uploads': 'On',
  765. 'upload_max_filesize': '2M',
  766. 'max_file_uploads': 20,
  767. 'allow_url_fopen': 'On',
  768. 'allow_url_include': 'Off',
  769. 'default_socket_timeout': 60
  770. },
  771. 'CLI Server': {
  772. 'cli_server.color': 'On'
  773. },
  774. 'Date': {
  775. 'date.timezone': 'America/New_York'
  776. },
  777. 'Pdo_mysql': {
  778. 'pdo_mysql.cache_size': 2000
  779. },
  780. 'mail function': {
  781. 'SMTP': 'localhost',
  782. 'mail.add_x_header': 'On'
  783. },
  784. 'SQL': {
  785. 'sql.safe_mode': 'Off'
  786. },
  787. 'ODBC': {
  788. 'odbc.allow_persistent': 'On',
  789. 'odbc.check_persistent': 'On',
  790. 'odbc.max_persistent': '-1',
  791. 'odbc.max_links': '-1',
  792. 'odbc.defaultlrl': 4096,
  793. 'odbc.defaultbinmode': 1
  794. },
  795. 'Interbase': {
  796. 'ibase.allow_persistent': 1,
  797. 'ibase.max_persistent': -1,
  798. 'ibase.max_links': -1,
  799. 'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"',
  800. 'ibase.dateformat': '"%Y-%m-%d"',
  801. 'ibase.timeformat': '"%H:%M:%S"'
  802. },
  803. 'MySQL': {
  804. 'mysql.allow_local_infile': 'On',
  805. 'mysql.allow_persistent': 'On',
  806. 'mysql.cache_size': '2000',
  807. 'mysql.max_persistent': -1,
  808. 'mysql.max_links': -1,
  809. 'mysql.connect_timeout': 60,
  810. 'mysql.trace_mode': 'Off'
  811. },
  812. 'MySQLi': {
  813. 'mysqli.max_persistent': -1,
  814. 'mysqli.allow_persistent': 'On',
  815. 'mysqli.max_links': -1,
  816. 'mysqli.cache_size': 2000,
  817. 'mysqli.default_port': 3306,
  818. 'mysqli.reconnect': 'Off'
  819. },
  820. 'mysqlnd': {
  821. 'mysqlnd.collect_statistics': 'On',
  822. 'mysqlnd.collect_memory_statistics': 'Off'
  823. },
  824. 'PostgreSQL': {
  825. 'pgsql.allow_persistent': 'On',
  826. 'pgsql.auto_reset_persistent': 'Off',
  827. 'pgsql.max_persistent': -1,
  828. 'pgsql.max_links': -1,
  829. 'pgsql.ignore_notice': 0,
  830. 'pgsql.log_notice': 0
  831. },
  832. 'Sybase-CT': {
  833. 'sybct.allow_persistent': 'On',
  834. 'sybct.max_persistent': -1,
  835. 'sybct.max_links': -1,
  836. 'sybct.min_server_severity': 10,
  837. 'sybct.min_client_severity': 10
  838. },
  839. 'bcmath': {
  840. 'bcmath.scale': 0
  841. },
  842. 'Session': {
  843. 'session.save_handler': 'files',
  844. 'session.use_strict_mode': 0,
  845. 'session.use_cookies': 1,
  846. 'session.use_only_cookies': 1,
  847. 'session.name': 'PHPSESSID',
  848. 'session.auto_start': 0,
  849. 'session.cookie_lifetime': 0,
  850. 'session.cookie_path': '/',
  851. 'session.serialize_handler': 'php',
  852. 'session.gc_probability': 0,
  853. 'session.gc_divisor': 1000,
  854. 'session.gc_maxlifetime': 1440,
  855. 'session.bug_compat_42': 'Off',
  856. 'session.bug_compat_warn': 'Off',
  857. 'session.cache_limiter': 'nocache',
  858. 'session.cache_expire': '180',
  859. 'session.use_trans_sid': 0,
  860. 'session.hash_function': 0,
  861. 'session.hash_bits_per_character': 5,
  862. 'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"'
  863. },
  864. 'MSSQL': {
  865. 'mssql.allow_persistent': 'On',
  866. 'mssql.max_persistent': -1,
  867. 'mssql.max_links': -1,
  868. 'mssql.min_error_severity': 10,
  869. 'mssql.min_message_severity': 10,
  870. 'mssql.compatibility_mode': 'Off',
  871. 'mssql.secure_connection': 'Off'
  872. },
  873. 'Tidy': {
  874. 'tidy.clean_output': 'Off'
  875. },
  876. 'soap': {
  877. 'soap.wsdl_cache_enabled': 1,
  878. 'soap.wsdl_cache_dir': '"/tmp"',
  879. 'soap.wsdl_cache_ttl': 86400,
  880. 'soap.wsdl_cache_limit': 5
  881. },
  882. 'ldap': {
  883. 'ldap.max_links': -1
  884. },
  885. },
  886. },
  887. }, merge=True) %}
  888. {% endif %}
  889. {% endif %}