check.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. require_once dirname(__FILE__).'/SymfonyRequirements.php';
  3. $symfonyRequirements = new SymfonyRequirements();
  4. $iniPath = $symfonyRequirements->getPhpIniConfigPath();
  5. echo "********************************\n";
  6. echo "* *\n";
  7. echo "* Symfony requirements check *\n";
  8. echo "* *\n";
  9. echo "********************************\n\n";
  10. echo $iniPath ? sprintf("* Configuration file used by PHP: %s\n\n", $iniPath) : "* WARNING: No configuration file (php.ini) used by PHP!\n\n";
  11. echo "** ATTENTION **\n";
  12. echo "* The PHP CLI can use a different php.ini file\n";
  13. echo "* than the one used with your web server.\n";
  14. if ('\\' == DIRECTORY_SEPARATOR) {
  15. echo "* (especially on the Windows platform)\n";
  16. }
  17. echo "* To be on the safe side, please also launch the requirements check\n";
  18. echo "* from your web server using the web/config.php script.\n";
  19. echo_title('Mandatory requirements');
  20. $checkPassed = true;
  21. foreach ($symfonyRequirements->getRequirements() as $req) {
  22. /** @var $req Requirement */
  23. echo_requirement($req);
  24. if (!$req->isFulfilled()) {
  25. $checkPassed = false;
  26. }
  27. }
  28. echo_title('Optional recommendations');
  29. foreach ($symfonyRequirements->getRecommendations() as $req) {
  30. echo_requirement($req);
  31. }
  32. exit($checkPassed ? 0 : 1);
  33. /**
  34. * Prints a Requirement instance
  35. */
  36. function echo_requirement(Requirement $requirement)
  37. {
  38. $result = $requirement->isFulfilled() ? 'OK' : ($requirement->isOptional() ? 'WARNING' : 'ERROR');
  39. echo ' ' . str_pad($result, 9);
  40. echo $requirement->getTestMessage() . "\n";
  41. if (!$requirement->isFulfilled()) {
  42. echo sprintf(" %s\n\n", $requirement->getHelpText());
  43. }
  44. }
  45. function echo_title($title)
  46. {
  47. echo "\n** $title **\n\n";
  48. }