Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Документация MySQL
 
 
 

Справочное руководство по MySQL


2.3.5 Проблемы с компиляцией? Содержание 2.3.7 Дистрибутив исходного кода для Windows

2.3.6 Замечания по потокам MIT-pthreads

В этом разделе описываются некоторые аспекты использования потоков MIT-pthreads.

Следует иметь в виду, что под Linux использовать потоки MIT-pthreads нельзя, для этого необходимо установить LinuxThreads! See section 2.6.1 Примечания к Linux (Все версии Linux).

Если ваша система сама по себе не обеспечивает поддержку потоков, то необходимо скомпоновать MySQL, используя пакет поддержки MIT-pthreads. К таким системам относятся старые системы FreeBSD, SunOS 4.x, Solaris 2.4 и более ранние, а также некоторые другие (see section 2.2.5 Операционные системы, поддерживаемые MySQL).

Заметьте, с версии MySQL 4.0.2 потоки MIT более не присутствуют в поставке исходных текстов. Если вам действительно нужен этот пакет, вы можете его забрать с http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz

После загрузки, распакуйте этот архив в каталог исходных текстов MySQL. Создастся новый каталог mit-pthreads.

  • Для большинства систем можно обеспечить использование потоков MIT-pthreads при помощи запуска configure с опцией --with-mit-threads:
    shell> ./configure --with-mit-threads
    
    При использовании потоков MIT-pthreads не поддерживается возможность сборки MySQL в каталоге, не содержащем исходный код, поскольку мы хотим минимизировать наши изменения в данном коде.
  • Проверки, определяющие, используются ли потоки MIT-pthreads, производятся только во время этапа конфигурационного процесса, относящегося к серверному коду. Если дистрибутив сконфигурирован с использованием --without-server для сборки только клиентского кода, то клиенты не будут знать, применяются ли потоки MIT-pthreads, и будут использовать подключения через сокеты Unix по умолчанию. Поскольку сокеты Unix не работают с потоками MIT-pthreads на некоторых платформах, то при запуске клиентских программ следует использовать -h или --host.
  • При компиляции MySQL с использованием потоков MIT-pthreads блокирование системы отключено по умолчанию из соображений производительности. Можно предписать серверу использовать системную блокировку с помощью опции --use-external-locking. Это только необходимо если вы собираетесь использовать два MySQL-сервера на одних и тех же файлах данных (не рекомендуется!).
  • Иногда потоковой команде bind() не удается подсоединить сокет без какого-либо сообщения об ошибке (по крайней мере, под Solaris). В результате все подключения к серверу обрываются. Например:
    shell> mysqladmin version
    mysqladmin: connect to server at '' failed;
    error: 'Can't connect to mysql server on localhost (146)'
    
    Для решения этой проблемы следует завершить выполнение сервера mysqld и перезапустить его. У нас это происходило только в тех случаях, когда мы прерывали работу сервера и сразу же снова его запускали.
  • При использовании потоков MIT-pthreads системный вызов функции sleep() не прерывается с помощью SIGINT (break). Это заметно только в том случае, если запускать mysqladmin --sleep. Следует ждать окончания работы sleep(), прежде чем прерывание будет обслужено и процесс завершит работу.
  • При линковании можно получить предупреждающие сообщения, подобные приведенным ниже (по крайней мере под Solaris); их можно игнорировать:
    ld: warning: symbol '_iob' has differing sizes:
        (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
    file /usr/lib/libc.so value=0x140);
        /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
    ld: warning: symbol '__iob' has differing sizes:
        (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
    file /usr/lib/libc.so value=0x140);
        /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
    
  • Некоторые другие предупреждения также можно игнорировать:
    implicit declaration of function 'int strtoll(...)'
    implicit declaration of function 'int strtoul(...)'
    
  • Нам не удалось добиться совместной работы readline с потоками MIT-pthreads (это не является необходимым, но для кого-то может представлять интерес).

2.3.5 Проблемы с компиляцией? Содержание 2.3.7 Дистрибутив исходного кода для Windows

 
 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS