summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortill <till@php.net>2008-02-14 23:11:43 +0000
committertill <till@php.net>2008-02-14 23:11:43 +0000
commit6b9e4a21aada9ab70b9c6452957810fd1cd1114e (patch)
treeb45bb43969e34918708881aabf6c4f425ed85641
parent60dd08732a7ac53ee77ef250d79a5e6aa5d32d6f (diff)
* added check for loaded database modules
* added MDB2 to lib check
-rw-r--r--check.php-dist46
1 files changed, 38 insertions, 8 deletions
diff --git a/check.php-dist b/check.php-dist
index 800339063..49004cb03 100644
--- a/check.php-dist
+++ b/check.php-dist
@@ -61,17 +61,26 @@ define('CHECK_NOK', '<span class="fail">NOT OK</span>');
error_reporting(E_ALL ^E_NOTICE);
-$include_path = dirname(__FILE__) . '/program/lib/';
+$include_path = dirname(__FILE__) . '/program/lib';
$include_path .= PATH_SEPARATOR;
-$include_path .= dirname(__FILE__) . '/program/';
+$include_path .= dirname(__FILE__) . '/program';
$include_path .= PATH_SEPARATOR;
$include_path .= get_include_path();
@ini_set('display_errors', 1);
set_include_path($include_path);
-$create_files = array('config/db.inc.php', 'config/main.inc.php');
-$required_libs = array('PEAR' => 'PEAR.php', 'DB' => 'DB.php', 'Net_SMTP' => 'Net/SMTP.php', 'Mail_mime' => 'Mail/mime.php', 'iilConnection' => 'lib/imap.inc');
+$create_files = array('config/db.inc.php', 'config/main.inc.php');
+
+$required_libs = array('PEAR' => 'PEAR.php', 'DB' => 'DB.php',
+ 'Net_SMTP' => 'Net/SMTP.php', 'Mail_mime' => 'Mail/mime.php',
+ 'MDB2' => 'MDB2.php', 'iilConnection' => 'lib/imap.inc');
+
+$supported_drivers = array('MDB2#mysql' => 'MDB2/Driver/mysql.php',
+ 'MDB2#pgsql' => 'MDB2/Driver/pgsql.php', 'MDB2#sqlite' => 'MDB2/Driver/sqlite.php');
+
+$supported_dbs = array('MySQL' => 'mysql', 'MySQLi' => 'mysqli',
+ 'PostgreSQL' => 'pgsql', 'SQLite (v2)' => 'sqlite');
$path = dirname(__FILE__) . '/';
$check = basename(__FILE__);
@@ -105,16 +114,37 @@ if ($rctest_config['from'] == '_yourfrom_') {
echo '<i>We do not check if this is a <b>valid</b> email address. Since this serves as from &amp; to, make sure it is correct!</i>';
}
+echo '<h3>Checking available databases</h3>';
+echo '<p>Checks if the extension is loaded.</p>';
+
+$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
+foreach ($supported_dbs AS $database => $ext) {
+ echo "$database: ";
+ if (extension_loaded($ext)) {
+ echo CHECK_OK;
+ } else {
+ $_ext = $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
+ echo CHECK_NOK;
+ if (@dl($_ext)) {
+ echo ' (<i>Could</i> be loaded. Please add in php.ini, if you plan on using it.)';
+ } else {
+ echo ' (<b>Not</b> installed.)';
+ }
+ }
+ echo '<br />';
+}
+
echo '<h3>Check for required 3rd party libs</h3>';
echo '<p>This also checks if the include path is set correctly.</p>';
foreach ($required_libs as $classname => $file) {
- @include_once $file;
+ require_once $file;
echo "$classname: ";
- if (class_exists($classname))
+ if (class_exists($classname)) {
echo CHECK_OK;
- else
+ } else {
echo CHECK_NOK . "; Failed to load $file";
+ }
echo "<br />";
}
@@ -360,4 +390,4 @@ if ($rcmail_config['default_host'] == '') {
}
?>
</body>
-</html> \ No newline at end of file
+</html>