В последнее время я хочу узнать о Свуле. Хотя машина оснащена php 7.0, учитывая, что некоторые сведения о swool зависят от более высоких версий (таких как swooletw), я обновил php7.2 на машине. Вот некоторые заметки, которые я сделал, выполнив поиск в Интернете или самостоятельно.
Операция обновления версии (прямое обновление с 7.0 до 7.2):
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get upgrade php Expansion and Upgrade sudo apt-get install php7.2-mbstring sudo apt-get install php7.2-gd sudo apt-get install php7.2-dom sudo apt-get install php7.2-mysql sudo apt-get install php7.2-curl ......
Вы можете установить swole: https://wiki.swoole.com/wiki/…
Рекомендуется устанавливать непосредственно с помощью PECL install swool, один шаг на месте, если скомпилирован вручную, кажется, что возникнет множество проблем, потому что версия не соответствует.
Переключаемая версия:
# Disable Version 7.0 sudo a2dismod php7.0 # Enable Version 7.2 sudo a2enmod php7.2 # Restart nginx (or apache) sudo service nginx restart
Если ОШИБКА: Модуль php7.0 не существует!, выполните sudo apt-get install libapache2-mod-php7.0, а затем выполните описанные выше действия.
Вы должны увидеть версию 7.2, когда посмотрите на phpinfo () в своем браузере, но в командной строке cli по-прежнему 7.0. Вам нужно сделать следующее:
CLI switch sudo update-alternatives --set php /usr/bin/php7.2
Таким образом, вы можете увидеть версию 7.2 при выполнении php-v в командной строке
Если у вас две версии, вы можете переключаться напрямую с помощью службы sudo php7.0-остановка/перезапуск fpm. Конечно, это может переключить только php-fpm, то есть веб-сайт или сторону командной строки cli переключить невозможно.
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное “?”, ожидание переменной (T_VARIABLE):
Обновленную версию я также выбросил PHP 7.1, а затем вернулся, чтобы загрузить компьютер на следующий день, и обнаружил, что все проекты laravel сообщали о таких ошибках. После поиска в Интернете я понял, что это проблема с версией, но после просмотра php-v никаких проблем не возникло. В настоящее время я намерен перезапустить отчеты об ошибках PHP. Проблема заключается в следующем сообщении об ошибке: ОШИБКА: не удается привязать прослушивающий сокет для адреса ‘127.0.0.1:9001’: Адрес уже используется (98) Грубо говоря, порт занят, а затем программа PHP fast CGI не запускается.
Разрешение: ps aux|grep php Просматривая все процессы php-fpm, мы обнаруживаем, что существует процесс PHP 7.1-fpm, получаем идентификатор процесса, а затем убиваем его, а затем мы можем перезапустить его.
Решением онлайн-запроса является команда killall php-pfm. После выполнения отображается только php-pfm: операция не найдена. Этот метод бесполезен. Наконец, используется описанный выше процесс запроса, и идентификатор процесса используется для завершения процесса.