Есть ли быстрый способ программно проверить, была ли эта конкретная установка PHP скомпилирована с поддержкой MYSQL?
if (function_exists('mysql_connect')) ...
На самом деле существует несколько модулей, поддерживающих MySQL (mysql, mysqli, pdo_mysql, …). MySQLi (улучшенный) обычно рекомендуется для более полной поддержки функций MySQL5 по сравнению с исходным модулем mysql. PDO (объекты данных PHP) – это уровень абстракции базы данных, который обеспечивает объектно-ориентированную абстракцию данных.
Вы можете использовать function_exists()
для предыдущих комментариев, если вы хотите проверить наличие определенной функции для каждого модуля (mysql_connect, mysqli_connect, …).
Кроме того, вы можете использовать функцию PHP extension_loaded()
чтобы проверить само расширение (имя модуля, соответствующее выходу из phpinfo ()):
<?php if (extension_loaded('mysql') or extension_loaded('mysqli')) { // Looking good } ?>
В командной строке вы можете перечислить все скомпилированные модули с помощью:
php -m
Если вы используете систему unix-ish, используйте grep
для фильтрации вывода на модули, связанные с MySQL:
php -m | grep -i mysql
Если вы работаете в Windows, используйте findstr
для фильтрации вывода на модули, связанные с MySQL:
php -m | findstr -i mysql
Я думаю, вы можете искать phpinfo ();
Это показывает информацию о настройке PHP.
phpinfo – выводит информацию о конфигурации PHP
Да, есть. Просто проверьте, существует ли одна из функций mysql_*
, например mysql_connect
:
if (function_exists("mysql_connect")) { echo "compiled using --with-mysql\n"; }