Здравствуйте, я новый веб-разработчик на open.uwec.edu. Недавно мне пришлось переключать наши веб-серверы, и я столкнулся с некоторыми проблемами. Наш старый сервер MySQL использовал функцию из библиотеки lib_mysqludf_preg, которая называлась preg_replace, для поиска и сопоставления регулярных выражений. У него были некоторые .dll, уже скомпилированные в папке «MySQL Server 5.1 / lib / plugin» с именами lib_mysqludf_preg.dll и libpcre.dll.
Если я скопирую эти библиотеки на новый сервер в «MySQL Server 5.6 / lib / plugin» и сделаю что-то вроде …
CREATE Function preg_replace RETURNS STRING SONAME 'lib_mysqludf_preg.dll';
Я получаю ошибку формата MySQL 193 …
Я посмотрел руководство по хранилищу github для этой библиотеки на https://github.com/mysqludf/lib_mysqludf_preg/blob/testing/doc/INSTALL.windows но ссылки не ведут на нужные файлы, такие как pcre dll, и это просто не имеет смысла для меня. Нужно ли скомпилировать эту библиотеку preg с нуля? Моя функция, которая использует это выглядит следующим образом.
CREATE DEFINER=`root`@`localhost` FUNCTION `slug`(dirty_string varchar(255)) RETURNS varchar(255) CHARSET latin1
DETERMINISTIC
BEGIN
Declare temp_string VarChar(255);
Set temp_string = replace(dirty_string, '&', ' and ');
Set temp_string = replace(temp_string, '''', '');
Set temp_string = preg_replace('/[^a-z0-9-]+/i', '-', temp_string);
Set temp_string = preg_replace('/^-+|-+$/', '', temp_string);
Return LOWER(temp_string);
END
Наш сайт использует фреймворк php codeigniter. У меня мало опыта работы с UDFS на MySQL, поэтому я надеюсь, что предоставил достаточно информации. Спасибо.
Задача ещё не решена.
Других решений пока нет …