Проверка соответствия PHP 4

Существует ли инструмент, который проверяет ваш код и может сообщить о любых проблемах с соответствием PHP4? Я только что разработал виджет для WordPress и не использовал никаких функций PHP5.3, но использовал функции PHP5.

Я не осознавал, что требования к версии WordPress PHP были настолько низкими (PHP4.3), и сейчас обдумываю задачу "заглушить" код, чтобы сделать его универсально совместимым.

2 ответа

Вы проверяете свой код с пакетом PEAR PHP_CompatInfo, Цитирование:

PHP_CompatInfo проанализирует файл /folder/script/array, чтобы определить минимальную версию и расширения, необходимые для его запуска. Особенности расширенный вывод отладки, который показывает, для каких функций требуется какая версия и сценарий вывода CLI

Основной пример:

require_once 'PHP/CompatInfo.php';
$source = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'math.php';
$info = new PHP_CompatInfo();
$info->parseFile($source);

Также см. Руководство пользователя для PHP_CompatInfo

Нет проблем с использованием функции php 4, сначала проверьте версию php вашего сервера с помощью phpinfo(), а если это PHP 5.x, то убедитесь, что вы используете любую из следующих функций

см. устаревшую функцию, приведенную ниже

Устаревшие функции:

- call_user_method() (use call_user_func() instead)
- call_user_method_array() (use call_user_func_array() instead)
- define_syslog_variables()
- dl()
- ereg() (use preg_match() instead)
- ereg_replace() (use preg_replace() instead)
- eregi() (use preg_match() with the 'i' modifier instead)
- eregi_replace() (use preg_replace() with the 'i' modifier instead)
- set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
- session_register() (use the $_SESSION superglobal instead)
- session_unregister() (use the $_SESSION superglobal instead)
- session_is_registered() (use the $_SESSION superglobal instead)
- set_socket_blocking() (use stream_set_blocking() instead)
- split() (use preg_split() instead)
- spliti() (use preg_split() with the 'i' modifier instead)
- sql_regcase()
- mysql_db_query() (use mysql_select_db() and mysql_query() instead)
- mysql_escape_string() (use mysql_real_escape_string() instead)
- Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead.
The is_dst parameter to mktime(). Use the new timezone handling functions instead.
Другие вопросы по тегам