check.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. use Symfony\Requirements\SymfonyRequirements;
  11. if (!isset($_SERVER['HTTP_HOST'])) {
  12. exit("This script cannot be run from the CLI. Run it from a browser.\n");
  13. }
  14. if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
  15. '127.0.0.1',
  16. '::1',
  17. ))) {
  18. header('HTTP/1.0 403 Forbidden');
  19. exit('This script is only accessible from localhost.');
  20. }
  21. if (file_exists($autoloader = __DIR__.'/../../../autoload.php')) {
  22. require_once $autoloader;
  23. } elseif (file_exists($autoloader = __DIR__.'/../vendor/autoload.php')) {
  24. require_once $autoloader;
  25. } else {
  26. throw new \RuntimeException('Unable to find the Composer autoloader.');
  27. }
  28. $symfonyRequirements = new SymfonyRequirements(dirname(dirname(realpath($autoloader))));
  29. $majorProblems = $symfonyRequirements->getFailedRequirements();
  30. $minorProblems = $symfonyRequirements->getFailedRecommendations();
  31. $hasMajorProblems = (bool) count($majorProblems);
  32. $hasMinorProblems = (bool) count($minorProblems);
  33. ?>
  34. <!DOCTYPE html>
  35. <html>
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  38. <meta name="robots" content="noindex,nofollow" />
  39. <title>Symfony Configuration Checker</title>
  40. <style>
  41. /* styles copied from symfony framework bundle */
  42. html {
  43. background: #eee;
  44. }
  45. body {
  46. font: 11px Verdana, Arial, sans-serif;
  47. color: #333;
  48. }
  49. .sf-reset, .sf-reset .block, .sf-reset #message {
  50. margin: auto;
  51. }
  52. img {
  53. border: 0;
  54. }
  55. .clear {
  56. clear: both;
  57. height: 0;
  58. font-size: 0;
  59. line-height: 0;
  60. }
  61. .clear-fix:after {
  62. content: "\0020";
  63. display: block;
  64. height: 0;
  65. clear: both;
  66. visibility: hidden;
  67. }
  68. .clear-fix {
  69. display: inline-block;
  70. }
  71. * html .clear-fix {
  72. height: 1%;
  73. }
  74. .clear-fix {
  75. display: block;
  76. }
  77. .header {
  78. padding: 30px 30px 20px 30px;
  79. }
  80. .header-logo {
  81. float: left;
  82. }
  83. .search {
  84. float: right;
  85. padding-top: 20px;
  86. }
  87. .search label {
  88. line-height: 28px;
  89. vertical-align: middle;
  90. }
  91. .search input {
  92. width: 195px;
  93. font-size: 12px;
  94. border: 1px solid #dadada;
  95. background: #fff url(data:image/gif;base64,R0lGODlhAQAFAKIAAPX19e/v7/39/fr6+urq6gAAAAAAAAAAACH5BAAAAAAALAAAAAABAAUAAAMESAEjCQA7) repeat-x left top;
  96. padding: 5px 6px;
  97. color: #565656;
  98. }
  99. .search input[type="search"] {
  100. -webkit-appearance: textfield;
  101. }
  102. #content {
  103. width: 970px;
  104. margin: 0 auto;
  105. }
  106. #content pre {
  107. white-space: normal;
  108. font-family: Arial, Helvetica, sans-serif;
  109. }
  110. /*
  111. Copyright (c) 2010, Yahoo! Inc. All rights reserved.
  112. Code licensed under the BSD License:
  113. http://developer.yahoo.com/yui/license.html
  114. version: 3.1.2
  115. build: 56
  116. */
  117. .sf-reset div,.sf-reset dl,.sf-reset dt,.sf-reset dd,.sf-reset ul,.sf-reset ol,.sf-reset li,.sf-reset h1,.sf-reset h2,.sf-reset h3,.sf-reset h4,.sf-reset h5,.sf-reset h6,.sf-reset pre,.sf-reset code,.sf-reset form,.sf-reset fieldset,.sf-reset legend,.sf-reset input,.sf-reset textarea,.sf-reset p,.sf-reset blockquote,.sf-reset th,.sf-reset td{margin:0;padding:0;}.sf-reset table{border-collapse:collapse;border-spacing:0;}.sf-reset fieldset,.sf-reset img{border:0;}.sf-reset address,.sf-reset caption,.sf-reset cite,.sf-reset code,.sf-reset dfn,.sf-reset em,.sf-reset strong,.sf-reset th,.sf-reset var{font-style:normal;font-weight:normal;}.sf-reset li{list-style:none;}.sf-reset caption,.sf-reset th{text-align:left;}.sf-reset h1,.sf-reset h2,.sf-reset h3,.sf-reset h4,.sf-reset h5,.sf-reset h6{font-size:100%;font-weight:normal;}.sf-reset q:before,.sf-reset q:after{content:'';}.sf-reset abbr,.sf-reset acronym{border:0;font-variant:normal;}.sf-reset sup{vertical-align:text-top;}.sf-reset sub{vertical-align:text-bottom;}.sf-reset input,.sf-reset textarea,.sf-reset select{font-family:inherit;font-size:inherit;font-weight:inherit;}.sf-reset input,.sf-reset textarea,.sf-reset select{font-size:100%;}.sf-reset legend{color:#000;}
  118. .sf-reset abbr {
  119. border-bottom: 1px dotted #000;
  120. cursor: help;
  121. }
  122. .sf-reset p {
  123. font-size: 14px;
  124. line-height: 20px;
  125. padding-bottom: 20px;
  126. }
  127. .sf-reset strong {
  128. color: #313131;
  129. font-weight: bold;
  130. }
  131. .sf-reset a {
  132. color: #6c6159;
  133. }
  134. .sf-reset a img {
  135. border: none;
  136. }
  137. .sf-reset a:hover {
  138. text-decoration: underline;
  139. }
  140. .sf-reset em {
  141. font-style: italic;
  142. }
  143. .sf-reset h2,
  144. .sf-reset h3 {
  145. font-weight: bold;
  146. }
  147. .sf-reset h1 {
  148. font-family: Georgia, "Times New Roman", Times, serif;
  149. font-size: 20px;
  150. color: #313131;
  151. word-wrap: break-word;
  152. }
  153. .sf-reset li {
  154. padding-bottom: 10px;
  155. }
  156. .sf-reset .block {
  157. -moz-border-radius: 16px;
  158. -webkit-border-radius: 16px;
  159. border-radius: 16px;
  160. margin-bottom: 20px;
  161. background-color: #FFFFFF;
  162. border: 1px solid #dfdfdf;
  163. padding: 40px 50px;
  164. word-break: break-all;
  165. }
  166. .sf-reset h2 {
  167. font-size: 16px;
  168. font-family: Arial, Helvetica, sans-serif;
  169. }
  170. .sf-reset li a {
  171. background: none;
  172. color: #868686;
  173. text-decoration: none;
  174. }
  175. .sf-reset li a:hover {
  176. background: none;
  177. color: #313131;
  178. text-decoration: underline;
  179. }
  180. .sf-reset ol {
  181. padding: 10px 0;
  182. }
  183. .sf-reset ol li {
  184. list-style: decimal;
  185. margin-left: 20px;
  186. padding: 2px;
  187. padding-bottom: 20px;
  188. }
  189. .sf-reset ol ol li {
  190. list-style-position: inside;
  191. margin-left: 0;
  192. white-space: nowrap;
  193. font-size: 12px;
  194. padding-bottom: 0;
  195. }
  196. .sf-reset li .selected {
  197. background-color: #ffd;
  198. }
  199. .sf-button {
  200. display: -moz-inline-box;
  201. display: inline-block;
  202. text-align: center;
  203. vertical-align: middle;
  204. border: 0;
  205. background: transparent none;
  206. text-transform: uppercase;
  207. cursor: pointer;
  208. font: bold 11px Arial, Helvetica, sans-serif;
  209. }
  210. .sf-button span {
  211. text-decoration: none;
  212. display: block;
  213. height: 28px;
  214. float: left;
  215. }
  216. .sf-button .border-l {
  217. text-decoration: none;
  218. display: block;
  219. height: 28px;
  220. float: left;
  221. padding: 0 0 0 7px;
  222. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAcCAYAAACtQ6WLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQtJREFUeNpiPHnyJAMakARiByDWYEGT8ADiYGVlZStubm5xlv///4MEQYoKZGRkQkRERLRYWVl5wYJQyXBZWdkwCQkJUxAHKgaWlAHSLqKiosb//v1DsYMFKGCvoqJiDmQzwXTAJYECulxcXNLoumCSoszMzDzoumDGghQwYZUECWIzkrAkSIIGOmlkLI10AiX//P379x8jIyMTNmPf/v79+ysLCwsvuiQoNi5//fr1Kch4dAyS3P/gwYMTQBP+wxwHw0xA4gkQ73v9+vUZdJ2w1Lf82bNn4iCHCQoKasHsZw4ODgbRIL8c+/Lly5M3b978Y2dn5wC6npkFLXnsAOKLjx49AmUHLYAAAwBoQubG016R5wAAAABJRU5ErkJggg==) no-repeat top left;
  223. }
  224. .sf-button .border-r {
  225. padding: 0 7px 0 0;
  226. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAcCAYAAACtQ6WLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAR1JREFUeNpiPHnyZCMDA8MNID5gZmb2nAEJMH7//v3N169fX969e/cYkL8WqGAHXPLv37//QYzfv39/fvPmzbUnT56sAXInmJub/2H5/x8sx8DCwsIrISFhDmQyPX78+CmQXs70798/BmQsKipqBNTgdvz4cWkmkE5kDATMioqKZkCFdiwg1eiAi4tLGqhQF24nMmBmZuYEigth1QkEbEBxTlySYPvJkwSJ00AnjYylgU6gxB8g/oFVEphkvgLF32KNMmCCewYUv4qhEyj47+HDhyeBzIMYOoEp8CxQw56wsLAncJ1//vz5/P79+2svX74EJc2V4BT58+fPd8CE/QKYHMGJOiIiAp6oWW7evDkNSF8DZYfIyEiU7AAQYACJ2vxVdJW4eQAAAABJRU5ErkJggg==) right top no-repeat;
  227. }
  228. .sf-button .btn-bg {
  229. padding: 0 14px;
  230. color: #636363;
  231. line-height: 28px;
  232. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcCAYAAACgXdXMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiPnny5EKGf//+/Wf6//8/A4QAcrGzKCZwGc9sa2urBBBgAIbDUoYVp9lmAAAAAElFTkSuQmCC) repeat-x top left;
  233. }
  234. .sf-button:hover .border-l,
  235. .sf-button-selected .border-l {
  236. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAcCAYAAACtQ6WLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAR9JREFUeNpi/P//PwMyOHfunDqQSgNiexZkibNnzxYBqZa3HOs5v7PcYQBLnjlzhg1IbfzIdsTjA/t+ht9Mr8GKwZL//v3r+sB+0OMN+zqIEf8gFMvJkyd1gXTOa9YNDP//otrPAtSV/Jp9HfPff78Z0AEL0LUeXxivMfxD0wXTqfjj/2ugkf+wSrL9/YtpJEyS4S8WI5Ek/+GR/POPFjr//cenE6/kP9q4Fo/kr39/mdj+M/zFkGQCSj5i+ccPjLJ/GBgkuYOHQR1sNDpmAkb2LBmWwL///zKCIxwZM0VHR18G6p4uxeLLAA4tJMwEshiou1iMxXaHLGswA+t/YbhORuQUv2DBAnCifvxzI+enP3dQJUFg/vz5sOzgBBBgAPxX9j0YnH4JAAAAAElFTkSuQmCC) no-repeat top left;
  237. }
  238. .sf-button:hover .border-r,
  239. .sf-button-selected .border-r {
  240. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAcCAYAAACtQ6WLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAT5JREFUeNpiPHv27BkGBoaDQDzLyMjoJgMSYHrM3WX8hn1d0f///88DFRYhSzIuv2X5H8Rg/SfKIPDTkYH/l80OINffxMTkF9O/f/8ZQPgnwyuGl+wrGd6x7vf49+9fO9jYf3+Bkkj4NesmBqAV+SdPntQC6vzHgIz//gOawbqOGchOxtAJwp8Zr4F0e7D8/fuPAR38/P8eZIo0yz8skv8YvoIk+YE6/zNgAyD7sRqLkPzzjxY6/+HS+R+fTkZ8djLh08lCUCcuSWawJGbwMTGwg7zyBatX2Bj5QZKPsBrLzaICktzN8g/NWEYGZgYZjoC/wMiei5FMpFh8QPSU6Ojoy3Cd7EwiDBJsDgxiLNY7gLrKQGIsHAxSDHxAO2TZ/b8D+TVxcXF9MCtYtLiKLgDpfUDVsxITE1GyA0CAAQA2E/N8VuHyAAAAAABJRU5ErkJggg==) right top no-repeat;
  241. }
  242. .sf-button:hover .btn-bg,
  243. .sf-button-selected .btn-bg {
  244. color: #FFFFFF;
  245. text-shadow:0 1px 1px #6b9311;
  246. background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcCAIAAAAvP0KbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpiPnv2LNMdvlymf///M/37B8R/QfQ/MP33L4j+B6Qh7L9//sHpf2h8MA1V+w/KRjYLaDaLCU8vQIABAFO3TxZriO4yAAAAAElFTkSuQmCC) repeat-x top left;
  247. }
  248. /* styles copied from bundles/sensiodistribution/webconfigurator/css/install.css */
  249. body {
  250. font-size: 14px;
  251. font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
  252. }
  253. .sf-reset h1.title {
  254. font-size: 45px;
  255. padding-bottom: 30px;
  256. }
  257. .sf-reset h2 {
  258. font-weight: bold;
  259. color: #FFFFFF;
  260. /* Font is reset to sans-serif (like body) */
  261. font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
  262. margin-bottom: 10px;
  263. background-color: #aacd4e;
  264. padding: 2px 4px;
  265. display: inline-block;
  266. text-transform: uppercase;
  267. }
  268. .sf-reset ul a,
  269. .sf-reset ul a:hover {
  270. background: url(../images/blue-arrow.png) no-repeat right 6px;
  271. padding-right: 10px;
  272. }
  273. .sf-reset ul, ol {
  274. padding-left: 20px;
  275. }
  276. .sf-reset li {
  277. padding-bottom: 18px;
  278. }
  279. .sf-reset ol li {
  280. list-style-type: decimal;
  281. }
  282. .sf-reset ul li {
  283. list-style-type: none;
  284. }
  285. .sf-reset .symfony-blocks-install {
  286. overflow: hidden;
  287. }
  288. .sf-reset .symfony-install-continue {
  289. font-size: 0.95em;
  290. padding-left: 0;
  291. }
  292. .sf-reset .symfony-install-continue li {
  293. padding-bottom: 10px;
  294. }
  295. .sf-reset .ok {
  296. color: #fff;
  297. font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
  298. background-color: #6d6;
  299. padding: 10px;
  300. margin-bottom: 20px;
  301. }
  302. .sf-reset .ko {
  303. background-color: #d66;
  304. }
  305. .sf-reset p.help {
  306. padding: 12px 16px;
  307. word-break: break-word;
  308. }
  309. .version {
  310. text-align: right;
  311. font-size: 10px;
  312. margin-right: 20px;
  313. }
  314. .sf-reset a,
  315. .sf-reset li a {
  316. color: #08C;
  317. text-decoration: none;
  318. }
  319. .sf-reset a:hover,
  320. .sf-reset li a:hover {
  321. color: #08C;
  322. text-decoration: underline;
  323. }
  324. .sf-reset textarea {
  325. padding: 7px;
  326. }
  327. </style>
  328. </head>
  329. <body>
  330. <div id="content">
  331. <div class="header clear-fix">
  332. <div class="header-logo">
  333. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAA+CAMAAACxzRGDAAAAUVBMVEX////Ly8yko6WLioxkYmVXVVkwLjLl5eWxsLJKSEzy8vJxcHLY2Ni+vb89Oz9XVVh+fH+Yl5n///+xsbLY2Nlxb3KkpKWXlph+fX+LiYy+vr/IZP61AAAAAXRSTlMAQObYZgAABRBJREFUeNrVmtuWoyAQRS1FEEQSzQU7//+hYxUiXsKQZLJWM+chsUloN+WhCuguYoKyYqzmvGasKqH4HyRKxndipcgcumH8qViTM7TkUclcwaHmf5XM0eWq4km1KjdqXfMXJHVe1J3hL8lk5fCGv6wmT+o0d87U+XNrk0Y9nfv+7LM6ZJH5ZBL6LAbSxQ3Q5FDr22Skr8PQSy4n7isnsQxSX4r6pobhjCHHeDNOKrO3yGmCvZOjV9jmt8ulTdXFKdbKLNh+kOMvBzuVRa4Y7MUsdEUSWQe7xxCfZmcwjHU83LqzFvSbJQOXQvptbPnEFoyZtUUGwTeKuLuTHyT1kaP0P6cR01OKvv448gtl61dqZfmJezQmU/t+1R2fJLtBwXV6uWGwB9SZPrn0fKO2WAvQN1PUhHjTom3xgXYTkvlSKHs19OhslETq6X3HrXbjt8XbGj9b4Gi+lUAnL6XxQj8Pyk9N4Bt1xUrsLVN/3isYMug8rODMdbgOvoHs8uAb2fcANIAzkKCLYy+AXRpSU8sr1r4P67xhLgPp7vM32zlqt7Bhq2fI1Hwp+VgANxok59SsGV3oqdUL0YVDMRY7Yg8QLbVUU4NZNoOq5hJHuxEM28Sh/IyUZ8D3reR+yc58EGvOy2U0HQL6G9V+kWyEWHmzaMx6t4o9RhOm/riUiYrzqij4Ptqkn7AaCXqc+F47m04ahfde7YIz8RHEBN6BdVwdIGRVdNbKqYu1Hc0x0wBY4wqC8+XUgBGnj81SZsQB+0yAS1x/BlI/6ebHHk0lauQLuPDpu6EwAVJ7T0rl2uXa23jcqNyOZekhqYHRz3JOANrF4wCCmEs1f9D1lUe0n4NAATed80Y5e0Q7CO2TezM/BR6wKdgQzKbCF4uOQC3Bk0fKAzbFlyRWg3gksA/gmm7eOjrpaKX7fHlEW2xLbE6GZsPiCiShVzN7RG2xTz2G+OJtEqzdJ7APxy3MrSsV0VukXbKMp9lhs5BN6dr3CN+sySUaoxGwfRUM3I/gdPYONgVU+PLX4vUWm32AvUySarbONvcpV2RQEPKKjEBHFk01kQDGRblnn8ZuE9g+JUl8OWAPbkFK2K6JxhJVvF47FzYYnAN22ttwxKYCoH36rheEB7KG/HF/YUaa2G5JF+55tpyrl7B1WHM39HuP2N2EXPl1UBu8vbj4OjvD+NoTE4ssF+ScARgaJY1N7+u8bY/Y9BSM5PKwJbvMVab32YP5FB5TtcYVrGoASolVLTzI7kVsYVxRtAb5n2JXq1vCdtd47XtYItynrN0835PasLg0y13aOPbmPI+on2Lr9e5tjSHvgkAvclUjL3Fsdaw03IzgTR62yYClk7QMah4IQ0qSsoYYbOix6zJR1ZGDNMOY3Bb6W5S6jiyovep3t7bUPyoq7OkjYumrfESp8zSBc/OLosVf+nTnnKjsqR16++WDwpI8FxJWRFTlI6NKnqYJaL96TqjAbo9Toi5QiWBDcmfdFV+T8dkvFe5bItgstbM2X6QG2mVun+cazfRwOS0eiaeRRJKgLfc3BQAqfnhJyz8lfR6580SF/FXVu83Nz1xrrnFqqXL6Qxl47DNSm4RFflvN5sABDD8peouqLLKQXVdGbnqf+qIpOxON4ZyYdJEJ6sy4zS2c5eRPTT4Jyp46qDE5/ptAWqJOQ9e6yE82FXBbZCk1/tXVoshVoopE3CB0zmraI3nbqCJ/gW3ZMgtbC5nh/QHlOoOZBxQCRgAAAABJRU5ErkJggg==" alt="Symfony" />
  334. </div>
  335. <div class="search">
  336. <form method="get" action="http://symfony.com/search">
  337. <div class="form-row">
  338. <label for="search-id">
  339. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAABUElEQVQoz2NgAIJ29iBdD0d7X2cPb+tY2f9MDMjgP2O2hKu7vS8CBlisZUNSMJ3fxRMkXO61wm2ue6I3iB1q8Z8ZriDZFCS03fm/wX+1/xp/TBo8QPxeqf+MUAW+QIFKj/+q/wX/c/3n/i/6Qd/bx943z/Q/K1SBI1D9fKv/AhCn/Wf5L5EHdFGKw39OqAIXoPpOMziX4T9/DFBBnuN/HqhAEtCKCNf/XDA/rZRyAmrpsvrPDVUw3wrkqCiLaewg6TohX1d7X0ffs5r/OaAKfinmgt3t4ulr4+Xg4ANip3j+l/zPArNT4LNOD0pAgWCSOUIBy3+h/+pXbBa5tni0eMx23+/mB1YSYnENroT5Pw/QSOX/mkCo+l/jgo0v2KJA643s8PgAmsMBDCbu/5xALHPB2husxN9uCzsDOgAq5kAoaZVnYMCh5Ky1r88Eh/+iABM8jUk7ClYIAAAAAElFTkSuQmCC" alt="Search on Symfony website" />
  340. </label>
  341. <input name="q" id="search-id" type="search" placeholder="Search on Symfony website" />
  342. <button type="submit" class="sf-button">
  343. <span class="border-l">
  344. <span class="border-r">
  345. <span class="btn-bg">OK</span>
  346. </span>
  347. </span>
  348. </button>
  349. </div>
  350. </form>
  351. </div>
  352. </div>
  353. <div class="sf-reset">
  354. <div class="block">
  355. <div class="symfony-block-content">
  356. <h1 class="title">Configuration Checker</h1>
  357. <p>
  358. This script analyzes your system to check whether is
  359. ready to run Symfony applications.
  360. </p>
  361. <?php if ($hasMajorProblems): ?>
  362. <h2 class="ko">Major problems</h2>
  363. <p>Major problems have been detected and <strong>must</strong> be fixed before continuing:</p>
  364. <ol>
  365. <?php foreach ($majorProblems as $problem): ?>
  366. <li><?php echo $problem->getTestMessage() ?>
  367. <p class="help"><em><?php echo $problem->getHelpHtml() ?></em></p>
  368. </li>
  369. <?php endforeach; ?>
  370. </ol>
  371. <?php endif; ?>
  372. <?php if ($hasMinorProblems): ?>
  373. <h2>Recommendations</h2>
  374. <p>
  375. <?php if ($hasMajorProblems): ?>Additionally, to<?php else: ?>To<?php endif; ?> enhance your Symfony experience,
  376. it’s recommended that you fix the following:
  377. </p>
  378. <ol>
  379. <?php foreach ($minorProblems as $problem): ?>
  380. <li><?php echo $problem->getTestMessage() ?>
  381. <p class="help"><em><?php echo $problem->getHelpHtml() ?></em></p>
  382. </li>
  383. <?php endforeach; ?>
  384. </ol>
  385. <?php endif; ?>
  386. <?php if ($symfonyRequirements->hasPhpConfigIssue()): ?>
  387. <p id="phpini">*
  388. <?php if ($symfonyRequirements->getPhpIniPath()): ?>
  389. Changes to the <strong>php.ini</strong> file must be done in "<strong><?php echo $symfonyRequirements->getPhpIniPath() ?></strong>".
  390. <?php else: ?>
  391. To change settings, create a "<strong>php.ini</strong>".
  392. <?php endif; ?>
  393. </p>
  394. <?php endif; ?>
  395. <?php if (!$hasMajorProblems && !$hasMinorProblems): ?>
  396. <p class="ok">All checks passed successfully. Your system is ready to run Symfony applications.</p>
  397. <?php endif; ?>
  398. <ul class="symfony-install-continue">
  399. <?php if ($hasMajorProblems || $hasMinorProblems): ?>
  400. <li><a href="check.php">Re-check configuration</a></li>
  401. <?php endif; ?>
  402. </ul>
  403. </div>
  404. </div>
  405. </div>
  406. </div>
  407. </body>
  408. </html>