PHP: MySQL (Original) — Manual

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Список изменений
  • Предопределённые константы
  • Примеры
    • Обзорный пример модуля MySQL
  • MySQL — Функции СУБД MySQL
    • mysql_affected_rows — Возвращает число затронутых прошлой операцией рядов
    • mysql_client_encoding — Возвращает кодировку соединения
    • mysql_close — Закрывает соединение с сервером MySQL
    • mysql_connect — Открывает соединение с сервером MySQL
    • mysql_create_db — Создаёт базу данных MySQL
    • mysql_data_seek — Перемещает внутренний указатель в результате запроса
    • mysql_db_name — Возвращает название базы данных из вызова к mysql_list_dbs
    • mysql_db_query — Переключается на указанную базу данных и посылает запрос
    • mysql_drop_db — Уничтожает базу данных MySQL
    • mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL
    • mysql_error — Возвращает текст ошибки последней операции с MySQL
    • mysql_escape_string — Экранирует строку для использования в mysql_query
    • mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
    • mysql_fetch_assoc — Возвращает ряд результата запроса в качестве ассоциативного массива
    • mysql_fetch_field — Возвращает информацию о колонке из результата запроса в виде объекта
    • mysql_fetch_lengths — Возвращает длину каждого поля в результате
    • mysql_fetch_object — Обрабатывает ряд результата запроса и возвращает объект
    • mysql_fetch_row — Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
    • mysql_field_flags — Возвращает флаги, связанные с указанным полем результата запроса
    • mysql_field_len — Возвращает длину указанного поля
    • mysql_field_name — Возвращает название указанной колонки результата запроса
    • mysql_field_seek — Устанавливает внутренний указатель результата на переданное смещение поля
    • mysql_field_table — Возвращает название таблицы, которой принадлежит указанное поле
    • mysql_field_type — Возвращает тип указанного поля из результата запроса
    • mysql_free_result — Освобождает память от результата запроса
    • mysql_get_client_info — Возвращает данные о MySQL-клиенте
    • mysql_get_host_info — Возвращает информацию о соединении с MySQL
    • mysql_get_proto_info — Возвращает информацию о протоколе MySQL
    • mysql_get_server_info — Возвращает информацию о сервере MySQL
    • mysql_info — Возвращает информацию о последнем запросе
    • mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
    • mysql_list_dbs — Возвращает список баз данных, доступных на сервере
    • mysql_list_fields — Возвращает список колонок таблицы
    • mysql_list_processes — Возвращает список процессов MySQL
    • mysql_list_tables — Возвращает список таблиц базы данных MySQL
    • mysql_num_fields — Возвращает количество полей результата запроса
    • mysql_num_rows — Возвращает количество рядов результата запроса
    • mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL
    • mysql_ping — Проверяет соединение с сервером и пересоединяется при необходимости
    • mysql_query — Посылает запрос MySQL
    • mysql_real_escape_string — Экранирует специальные символы в строках для использования в выражениях SQL
    • mysql_result — Возвращает данные результата запроса
    • mysql_select_db — Выбирает базу данных MySQL
    • mysql_set_charset — Устанавливает кодировку клиента
    • mysql_stat — Возвращает текущий статус сервера
    • mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
    • mysql_thread_id — Возвращает идентификатор текущего потока
    • mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации

add a note

User Contributed Notes

There are no user contributed notes for this page.

Установка и настройка PHP и MySQL в связке с IIS

Александр Мельников

26 сентября 2019

Обновлено 4 мая 2023

IIS Windows Базы данных

Так бывает, что Windows-сервер необходимо использовать как web-сервер. Первое, что приходит на ум, так это установить WAMP. Или просто по отдельности установить Apache, MySQL и PHP. Однако случаются и частности, например вместо Apache требуется использовать IIS. Причины могут быть совершенно разными. От отсутствия желания у системного администратора изучить что-то новое, до радикальных взглядов со стороны службы информационной безопасности. Рассмотрим как создать связку IIS + MySQL + PHP.

В Serverspace вы можете создать сервер с уже установленным приложением MySQL и PHP.

IIS – это набор служб Интернета от компании Microsoft, иными словами web-платформа. Особенность IIS такова, что он поддерживает большое количество модулей и приложений, в том числе и работу с MySQL и PHP.

Устанавливаем IIS.

Запускаем Диспетчер серверов.

В открывшемся окне выбираем “Добавить роли и компоненты”.

В появившемся окне мастера установки ролей и компонентов, по желанию, устанавливаем галочку “Пропускать эту страницу по умолчанию”. Данная страница будет появляться при каждой попытке добавления роли или компонентов. Нажимаем кнопку “Далее”.

На следующем шаге – Тип установки – проверяем, чтобы был выбран параметр “Установка ролей и компонентов”. Кликаем по кнопке “Далее”.

На этапе выбора серверов просто нажимаем “Далее”, так как в нашем случае существует один сервер.

На шаге выбора ролей сервера отмечаем галкой “Веб-сервер (IIS)”, кликаем по кнопке “Далее”.

В открывшемся окне нажимаем кнопку “Добавить компоненты”. Окно закроется.

В оставшемся окне мастера кликаем по кнопке “Далее”.

На этапе выбора компонентов, рекомендуем отметить галочкой “Функции .NET Framework 3.5”. Нажимаем “

Далее”.

На шаге “Роль веб-сервера (IIS)” – “Далее”.

При желании можно отметить дополнительные службы роли Веб-сервера, например FTP-сервер. Нажимаем кнопку “Далее”.

Подтверждаем установку кликом по кнопке “Установить”.

Дожидаемся окончания процесса установки.

В окне “Диспетчер серверов” появится значок IIS. Кликаем по нему.

В обновившемся окне кликаем правой кнопкой мыши по имени сервера. Из контекстного меню выбираем “Диспетчер служб IIS

”.

В появившемся окне диспетчера, в левой части, выбираем текущий сервер. В правой части окна – “Получить новые компоненты веб-платформы”.

Откроется окно браузера используемого в системе по умолчанию с предложением скачать и установить установщик Web-платформ.

Скачиваем пакет установки, запускаем и устанавливаем.

После установки, еще раз нажимаем “Получить новые компоненты веб-платформы”.

Запустится мастер установки Web Platform Installer,

Устанавливаем MySQL и PHP.

В окне программы есть поле поиска. Воспользуемся им. В результатах поиска выбираем пакет PHP. Кликаем по кнопке “Добавить”.

Аналогичным образом находим пакет MySQL, кликаем “Добавить”. Когда добавлены все пакеты, нгажимаем кнопку “Установить”.

Как и в Linux системах, программа установки запросит пароль для пользователя root к СУБД MySQL. Не забываем введенный пароль. Нажимаем “Продолжить”.

В центральной части окна перечислен список программ которые будут установлены. Чтобы посмотреть текст лицензионного соглашения устанавливаемого ПО, кликаем по гиперссылке. Если согласны, нажмите кнопку “

Принимаю”.

Дожидаемся окончания установки.

Результат установки. Нажимаем “Готово”.

Как видно, не был установлен пакет “Диспетчер PHP для IIS”. Установим его аналогичным способом. Находим через поле поиска, кликаем по кнопке “Добавить”, затем по кнопке “Установить”.

Помним, что программа не установилась из за неверной цифровой подписи. Такое бывает. Скачаем программу с github. Не забываем о разрядности ОС.

В результате будет получен MSI-файл. Устанавливаем как обычную программу. Возможно, в ходе установки, потребуется закрыть диспетчер IIS.

После завершения установки, в окне диспетчера IIS появится значок “Администратор PHP”. Откроем его двойным кликом.

В открывшемся окне проверим phpinfo(). кликнем по соответствующей гиперссылке.

В открывшемся окне выбора сайта и URL, выбираем сайт по умолчанию. Нажимаем “OK”.

Результат выполнения функции phpinfo() будет отображен в диспетчере IIS.

Проверим результат установки MySQL.

Открываем окно PowerShell и перейдем в директорию расположения СУБД с помощью команды:

cd “C:Program FilesMySQLMySQL Server 5.5bin”

Пробуем подключиться к СУБД:

./mysql -u root -p

Вводим пароль указанный при установке.

Оценка:

5 из 5

Аverage rating : 5

Оценок: 3

191028 Санкт-Петербург Литейный пр. , д. 26, Лит. А

+7 (812) 403-06-99

700 300

ООО «ИТГЛОБАЛКОМ ЛАБС»

191028 Санкт-Петербург Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700 300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700 300

Эксперты Php mysql, которые помогут, наставят, проверят код и многое другое

В Codementor вы найдете ведущих экспертов, разработчиков, консультантов и преподавателей Php mysql. Создайте свой проект, проверьте код или решите проблемы проверенными фрилансерами Php mysql. Учитесь у опытных наставников с опытом командного обучения и коучинга. В любом случае, быстро найдите необходимую помощь по Php mysql.

Php mysql

Посмотреть все технологии

Радита Диссанаяке

19 долларов США  / 15 минут

5.0  (

2658

отзывов)

Полиглот, архитектор программного обеспечения, эксперт по реляционным СУБД.

Проделал чертовски много программирования и разработки программного обеспечения с тех пор, как в 1987 году написал свой первый спектр Sinclair ZX. Недостаточно этого было сделано с открытым исходным кодом. 2000+ пять звезд…

PHP MySQL JavaPythonJavaScriptDatabaseCC++Системное администрированиеАлгоритмПроверщики кодаHTMLMakefileMpiJdbcСтруктура данныхSwingJavafxQt/c++ООП (объектно-ориентированное программирование)StlKerasTensorFlowReactSeleniumLinuxDo ckerApachePostgreSQLGunicornNGINX PHP 7MysqliImapPdoFlaskSqlalchemyNumpypandasDjangoGoogle MapsjQueryAWS (Amazon Web Services)Node.jsDevOpsSQLGeospatialJsonbPostgisTriggerSQLiteShellPthreads

Хуан Эльферс

9 0004 20 долларов США  / 15 минут

5,0  (

1885

отзыва)

Старший разработчик полного стека

Javascript, ReactJS, Node, HTML+CSS… и многое другое! Привет! Меня зовут Хуан, и я веб-разработчик. Обладая более чем 10-летним опытом разработки программного обеспечения (и более 4 лет в C. ..

PHP MySQL Php mysql ReactNode.jsJavaScriptHTML/CSSFirebaseAngularCSS3PuppeteerReduxjQueryWordPressВеб-разработкаAdobe photoshopPhp5Phpmyadmin PHP 7CodeIgniterCodeigniter 2MagentoHTML5HTMLFull StackScss (sassy css)React routerReact html cssElectron.jsSocket.IOExpress (express.js)Es6npmJavascript oopCoffeeScriptHandlebars.jsHandlebarsAjaxGreensockWordPress ThemeFirestore Google puppeteerTelegram botsjQuery UIjQuery MobileBootstrapPsd в wordpressPsd в htmlReact with reduxБаза данных FirebaseХостинг в FirebaseWordPress PluginВеб-дизайнWebpackChrome ExtensionLessSass/cssAngular2Angular materialMaterial designAngularjs (1.x)Angular 1.x

Хумаюн Шаббир

20 долларов США  / 15 минут

5,0  (

2369

9 0004 отзыва)

Эксперт Разработчик Visual Basic, C# и JavaScript | 3000+ сеансов

Добро пожаловать в мой профиль Codementor. Я работаю кодментором на постоянной основе 💻 и с 2015 года провел более 3000 сессий. Помимо обычного программирования, я сделал много…

PHP Php mysql MySQL JavaScriptC#SQLVB.NETjQueryHTML/CSXamarinVisual BasicClassic ASPSQL ServerConsultingUwpРецензенты кодаExcelPythonVb6P5.jsSwiftRJavaUnityC++VBASmalltalkVbscriptASP.NETASP.NET MVCWinFormsAdo.netLINQ (Language-Integrated Query)WCF (Windows) Communication Foundation) ServiceMicrosoft AccessComAdoWindows ApplicationXamlWindows 10Winrt xamlWindows universalWinrtTypeScriptMicrosoft excelExcel vbaMs excelPython 2.7Python 3 .xPython3FlaskMicrosoft sql serverTransact sqlT-SQLPharoVbVb 6.0ГрафикаBootstrapHTML5HTMLPhp5 PHP 7iOSObjective-CJava EEJava 8EclipseNetbeansR ShinyR studioCVisual StudioАлгоритмСтруктура данныхИнформатикаSqueak/smalltalkSqueakRstudioDatabaseВеб-разработкаМобильная разработкаXamarin.iosXamarin.androidXamarin.formsAjaxjQuery UIjQuery MobileOracleLightboxMacrosVBA for AccessAdvan ced vbaVba Word

Дуг Гейл

18 долларов США  / 15 минут

5,0  (

270

отзыва)

Начал программировать в 12 лет в 1988 на Commodore VIC-20. Работал в различных отраслях, разрабатывая различные типы программного обеспечения. Десятилетия опыта.

PHP MySQL JavaScriptHTML5C++CMakeGccC#WinapiWin32ОтладкаМногопоточностьAssemblyX86 64X86МикроконтроллерТестирование производительностиOsAuthРазработка ОС LinuxПроизводительностьМодульное тестированиеФаззСтресс-тестированиеАнализ данныхАвтоматизацияОтчетностьНепрерывная интеграция CallgrindValgrindИнструментарий для повышения производительности WindowsXperfВстроенные системыRaspberry PiArduinoCPicAvrKernelСистемное программированиеIntrinsicsSimdIeeeМикроархитектураС плавающей запятойIeee 754Соглашения о вызовахГенерация кодаMs AssemblyAtt AssemblySchedulingAtt assembyThreadpoolPthreadsGoogle chrome devtoolsGdbVirtualizationКросс-платформаУдаленная отладкаWind bgUnicodeAPIGuiIlGenericsWinFormsКонструирование компилятораИнструментыVisual StudioQt CreatorBuildingCsrfПодготовленный операторAjaxPhpmyadminDatabaseSQLQtQt5Qt4AtomicC++11HTMLHTML/CSSCss анимацияИстория HTML5Html5 videoSpaJquery animateРазделение проблемМодульностьNode. jsRequirejsПроверщики кодаjQueryAsyncjQuery UIПО для обеспечения безопасностиМежсайтовый скриптингПриложение WindowsRESTful Web ServicesMakefileLINQ (Language-Integrated Query)ASP.NETCSSПараллельное программирование

Белал Хайкал

30 долларов США  / 15 минут

5,0  (

180

9000 4 отзыва)

Разработчики Full Stack

Добро пожаловать в гости! Я full-stack разработчик с опытом разработки более 7 лет. Я хорош в следующем: — Node.js, Mongodb, javascript — React.js, веб-дизайн — C+…

MySQL PHP ReactC++PythonNode.jsJavaВеб-разработкаMERN Веб-сервисы StackRestC#CVue.jsReduxSpringMongooseMongoDBВеб-дизайнLaravelJavaScriptReact NativeSpring BootJava EEIpython ноутбукNumpyPython pandas

В течение 15 минут я был в сети с опытным инженером, который редактировал мой код и указывал на мои ошибки… это был первый раз, когда я испытал потенциал Интернета для преобразования обучения.

Томаш Тунгуз

Венчурный капиталист в
Redpoint Ventures

НАЧАТЬ

Эрик Родригес

30 долларов США  / 15 минут

5. 0  (

161

отзывы)

10+ лет опыта разработки Веб-приложения. Основатель StreamOverlayPro

В настоящее время работает основателем Stream Overlay Pro. Последние 18 лет я работал с компаниями, связанными с Интернетом, СМИ и издательским делом. Я считаю себя конста…

Phpmysql MySQL PHP ReactAngularExpress (express.js)TypeScriptNode.jsElectronLamp stackGoogle Cloud PlatformJavaScriptReduxApache web serverLinuxHTML/CSSiOSAndroid studioVirtualboxVirtual izationRackspaceСервер UbuntuUbuntuVmwareРазвертывание HerokuHerokuVirtualhostMod rewriteApacheMysPhp5Веб-хостингApache2PhpmyadminWordPressHtaccessИнфраструктураFull StackFront-EndBackend разработка

Фади Ханья

20 долларов США  / 15 минут

5,0  (

128

отзывы)

Веб-разработчик, более 19 лет опыта

Удовлетворение потребностей клиентов — ключ к успешным проектам по программному обеспечению. Я опытный веб-разработчик полного стека со степенью магистра разработки программного обеспечения. У меня более 19 лет углубленной разработки…

MySQL PHP ASP.NET CoreASP.NET MVCAngularAsp.net Web ApiC#Webpack.net coreExpress (express.js)PythonJavaScriptJavaWordPressTypeScriptHTML/CSSC++DockerNode.jsSveltePython 2Питон3Питон 3.xPython 2.7MinificationBundleLessScss (sassy css)BabeljsTranspilerTranspilingCSS3HTML5HTMLCSSCJava OOPWordPress PluginWordPress ThemeASP.NETEntity Framework.net frameworjQueryAureliajsAureliaRazorAsp.net mvc 5Entity framework 6Oauth3OauthSwaggerAutomapper Entity framework coreDiSQL Server

Иван Андреич

20 долларов США  / 15 минут

5,0  (

60

отзывов)

Frontend и Backend разработчик с большим опытом работы в различных проектах…

Я разработчик полного стека с широким и универсальным набором навыков кодирования. Я быстро помогаю стартапам и предприятиям с прототипами и идеями, эффективно превращая эти вещи в… .jsReact NativeDrupalMagentoShopifySquarespaceWixWooCommerceWordPressVue. jsCakePHPSymfonyLaravelYiiUnityASP.NET MVCНастольное приложениеRustSmartcontractsEthereumSolidityWeb3FirebaseMongoDBSQLPinescript

Кехинде Санни

20 долларов США  / 15 минут

5,0  (

40

отзывы)

Универсальный разработчик полного стека и эксперт DevOps с более чем 7-летним опытом, др…

Будучи универсальным разработчиком полного стека и инженером DevOps, Кехинде обладает обширным набором навыков, охватывающих разработку интерфейсов и серверных частей, а также управление инфраструктурой… LaravelRest веб servicesDockerJenkinsKubernetesRuby on RailsAndroidAngularDart/flutterPythonGitМодульное тестированиеSequelize.jsРазработка через тестированиеPostgreSQLRSpecRubyFlutterJavaKotlinScriptsFlaskGithubDigital oceanAzure Cloud ServicesАдаптивный дизайнВеб-разработкаАвтоматизацияGoogle Cloud PlatformУправление конфигурациейТестированиеНепрерывное развертываниеНепрерывная интеграцияСистемный администратор LinuxUbuntuAlibaba cloudKibanaPackerSequelizeMochaEs6ReduxGraphQLAWS (Amazon Web Services)APIExpress (express. js)

Денис Селлу

20 долларов США  / 15 минут

5.0  (

14

отзыв )

Я веб-разработчик днем ​​и веб-разработчик ночью

Я веб-разработчик днем и веб-разработчиком ночью, который хорошо разбирается в самых разных приложениях. В настоящее время меня особенно интересует разработка с использованием JavaScript…

PHP MySQL HTML/CSSJavaScriptPythonC++RubyGo (Golang)C#JavaMongoDBAWS (Amazon Web Services)MagentoShopifyWooCommerceWordPressFlaskVue.jsAngularReactNode.jsASP.NETWeb ScrapingNuxt.jsDjangoRuby на RailsLaravelDrupal

Просмотреть всех экспертов Php mysql на Codementor

Хотите стать программистом Php mysql Codementor? Учебник

. Приложение PHP с MySQL — Служба приложений Azure

  • Статья

Служба приложений Azure предоставляет высокомасштабируемую службу веб-хостинга с автоматическим исправлением, использующую операционную систему Linux. В этом руководстве показано, как создать безопасное приложение PHP в службе приложений Azure, подключенное к базе данных MySQL (с помощью базы данных Azure для гибкого сервера MySQL). Когда вы закончите, у вас будет приложение Laravel, работающее в службе приложений Azure в Linux.

Из этого руководства вы узнаете, как:

  • Создать защищенное по умолчанию приложение PHP и MySQL в Azure
  • Настройка секретов подключения к MySQL с помощью параметров приложения
  • Разверните код приложения с помощью GitHub Actions
  • Обновление и повторное развертывание приложения
  • Безопасное выполнение миграции базы данных
  • Потоковая передача журналов диагностики из Azure
  • Управление приложением на портале Azure

Если у вас нет подписки Azure, перед началом работы создайте бесплатную учетную запись Azure.

Образец приложения

Чтобы следовать этому руководству, клонируйте или загрузите образец приложения из репозитория:

 git clone https://github.com/Azure-Samples/laravel-tasks.git
 

Если вы хотите запустить приложение локально, выполните следующие действия:

  • В .env настройте параметры базы данных (например, DB_DATABASE , DB_USERNAME и 9034 2 DB_PASSWORD ), используя настройки в вашем локальном MySQL база данных. Для запуска этого примера вам нужен локальный сервер MySQL.

  • Из корня репозитория запустите Laravel с помощью следующих команд:

     установка композитора
    php ремесленник миграция
    ключ ремесленника php: сгенерировать
    php ремесленник служить
     

1 — Создание службы приложений и ресурсов MySQL

На этом шаге вы создаете ресурсы Azure. Действия, описанные в этом руководстве, позволяют создать службу приложений и базу данных Azure для конфигурации MySQL, которая по умолчанию является безопасной. Для процесса создания вы укажете:

  • Имя для веб-приложения. Это имя, используемое как часть имени DNS для вашего веб-приложения в форме https://.azurewebsites.net .
  • Среда выполнения для приложения. Здесь вы выбираете версию PHP для своего приложения.
  • Группа ресурсов для приложения. Группа ресурсов позволяет сгруппировать (в логическом контейнере) все ресурсы Azure, необходимые для приложения.

Войдите на портал Azure и выполните следующие действия, чтобы создать ресурсы службы приложений Azure.

Инструкции Скриншот
На портале Azure:
  1. Введите «база данных веб-приложения» в строке поиска в верхней части портала Azure.
  2. Выберите элемент с меткой Web App + Database под заголовком Marketplace .
Вы также можете напрямую перейти к мастеру создания.
На странице Create Web App + Database заполните форму следующим образом.
  1. Группа ресурсов → Выберите Создайте новый и используйте имя msdocs-laravel-mysql-tutorial .

  2. Регион → Любой регион Azure рядом с вами.

  3. Имя msdocs-laravel-mysql-XYZ , где XYZ — любые три случайных символа. Это имя должно быть уникальным в Azure.

  4. Стек времени выполнения PHP 8.0 .

    MySQL — Гибкий сервер выбран для вас по умолчанию в качестве ядра базы данных. База данных Azure для MySQL — это полностью управляемая база данных MySQL как служба в Azure, совместимая с последними выпусками сообщества.

  5. Обратите внимание на сгенерированное для вас имя базы данных ( -database ). Он понадобится вам позже.

  6. Нажмите Проверить + создать .

После завершения проверки нажмите Создать .
Развертывание занимает несколько минут и создает следующие ресурсы:
  • Группа ресурсов → Контейнер для всех созданных ресурсов.
  • План службы приложений → Определяет вычислительные ресурсы для службы приложений. План Linux на уровне P1v2 создан.
  • Служба приложений → Представляет ваше приложение и выполняется в плане службы приложений.
  • Виртуальная сеть → Интегрировано с приложением службы приложений и изолирует внутренний сетевой трафик.
  • Гибкий сервер базы данных Azure для MySQL → Доступен только из виртуальной сети. Для вас на сервере создается база данных и пользователь.
  • Частная зона DNS → Включает разрешение DNS сервера базы данных MySQL в виртуальной сети.
После завершения развертывания нажмите кнопку Перейти к ресурсу . Вы попадаете прямо в приложение службы приложений.

2 — Настройка подключения к базе данных

Мастер создания сгенерировал для вас строку подключения к базе данных, но в формате, который еще не подходит для вашего кода. На этом шаге вы создаете параметры приложения в формате, который нужен вашему приложению.

Инструкции Скриншот
На странице App Service в меню слева выберите Configuration .
На вкладке Application settings страницы Configuration создайте параметр DB_DATABASE :
  1. Нажмите Новая настройка приложения .

  2. В поле Name введите DB_DATABASE .

  3. В поле Value введите автоматически сгенерированное имя базы данных из мастера создания, которое выглядит как msdocs-laravel-mysql-XYZ-database .

  4. Щелкните OK .

Вернуться на вкладку настроек приложения:
  1. Прокрутите вниз и выберите строку подключения defaultConnection . Он был сгенерирован мастером создания и содержит нужные вам имя пользователя и пароль.

  2. В поле Значение нажмите кнопку Копировать и вставьте значение в текстовый файл для дальнейшего использования. Это в следующем формате (разрывы строк для ясности):

     База данных=mysql;
    Server=<имя-домена-сервера-базы-данных>;
    Идентификатор пользователя=<имя пользователя>;
    Пароль=<пароль>
     
  3. Выбрать Отмена .

Создайте следующие дополнительные параметры приложения, выполнив те же действия, что и для создания параметра приложения.
  • DB_HOST : используйте из скопированной строки подключения в качестве значения.

  • DB_USERNAME : Используйте из скопированной строки подключения в качестве значения.

  • DB_PASSWORD : используйте <пароль> из скопированной строки подключения в качестве значения.

  • MYSQL_ATTR_SSL_CA : используйте /home/site/wwwroot/ssl/DigiCertGlobalRootCA.crt.pem в качестве значения.

    Этот параметр приложения указывает путь к сертификату TLS/SSL, необходимому для доступа к серверу MySQL. Он включен в репозиторий примеров для удобства.

  • APP_DEBUG : Используйте true в качестве значения. Это переменная отладки Laravel.

  • APP_KEY : используйте base64:Dsz40HWwbCqnq0oxMsjq7fItmKIeBfCBGORfspaI1Kw= в качестве значения. Это переменная шифрования Laravel.

    Важно

    Это значение APP_KEY используется здесь для удобства. Для производственных сценариев он должен быть сгенерирован специально для вашего развертывания с использованием php artisan key:generate --show в командной строке.

3 — Пример кода развертывания

На этом этапе вы настроите развертывание GitHub с помощью действий GitHub. Это всего лишь один из многих способов развертывания в службе приложений, а также отличный способ обеспечить непрерывную интеграцию в процесс развертывания. По умолчанию каждый git push в ваш репозиторий GitHub запускает сборку и развертывание. Вы внесете некоторые изменения в кодовую базу с помощью Visual Studio Code прямо в браузере, а затем разрешите автоматическую установку GitHub Actions.

Инструкции Скриншот
В новом окне браузера:
  1. Войдите в свою учетную запись GitHub.

  2. Перейдите к https://github.com/Azure-Samples/laravel-tasks.

  3. Щелчок Вилка .

  4. Нажмите Создать ответвление .

На странице GitHub откройте Visual Studio Code в браузере, нажав клавишу . ключ .
В коде Visual Studio в браузере откройте config/database.php в проводнике. В соединении mysql убедитесь, что настройки приложения, которые вы создали ранее для соединения MySQL, уже используются ( DB_HOST , DB_DATABASE , DB_USERNAME , DB_PASSWORD , MYSQL_ATTR_SSL_CA ).
Вернувшись на страницу службы приложений, в левом меню выберите Центр развертывания .
На странице центра развертывания:
  1. В Source выберите GitHub . По умолчанию в качестве поставщика сборки выбран GitHub Actions .

  2. Войдите в свою учетную запись GitHub и следуйте инструкциям для авторизации Azure.

  3. В Organization выберите свою учетную запись.

  4. В репозитории выберите laravel-задачи .

  5. В Branch выберите main .

  6. В верхнем меню нажмите Сохранить .

Служба приложений фиксирует файл рабочего процесса в выбранном репозитории GitHub в каталоге .github/workflows .
На странице центра развертывания:
  1. Выберите Журналы . Выполнение развертывания уже запущено.

  2. В элементе журнала запуска развертывания выберите Журналы сборки/развертывания .

    Вы перешли в свой репозиторий GitHub и видите, что действие GitHub запущено. Файл рабочего процесса определяет два отдельных этапа: сборку и развертывание.

Дождитесь завершения цикла. Это занимает около 15 минут.

Совет

Действие GitHub определяется файлом в вашем репозитории GitHub в .github/workflow . Вы можете сделать это быстрее, настроив файл.

4 — Создать схему базы данных

Мастер создания помещает сервер базы данных MySQL за частной конечной точкой, поэтому он доступен только из виртуальной сети. Поскольку приложение службы приложений уже интегрировано с виртуальной сетью, самый простой способ выполнить миграцию базы данных с помощью базы данных — непосредственно из контейнера службы приложений.

Инструкции Скриншот
На странице службы приложений:
  1. В меню слева выберите SSH .

  2. Выберите Перейти .

Сеанс SSH с контейнером службы приложений открывается в браузере. При желании вы можете перейти непосредственно к https://.scm.azurewebsites.net/webssh/host .
В терминале SSH:
  1. компакт-диск в корень вашего приложения код:

     компакт-диск /home/site/wwwroot
     
  2. Запустите миграцию базы данных из корня вашего приложения.

     php artisan migrate --force
     

    Примечание

    Только изменения в файлах в /home могут сохраняться после перезапуска приложения. Изменения за пределами /home не сохраняются.

5 — Изменить корень сайта

Вместо этого жизненный цикл приложения Laravel начинается в каталоге /public . Контейнер PHP 8.0 по умолчанию для службы приложений использует Nginx, который запускается в корневом каталоге приложения. Чтобы изменить корень сайта, вам нужно изменить файл конфигурации Nginx в контейнере PHP 8.0 ( /etc/nginx/сайты-доступны/по умолчанию ). Для вашего удобства репозиторий примеров содержит настраиваемый файл конфигурации с именем default . Как отмечалось ранее, вы не хотите заменять этот файл с помощью оболочки SSH, потому что ваши изменения будут потеряны после перезапуска приложения.

Инструкции Скриншот
На странице службы приложений:
  1. В меню слева выберите Конфигурация .

  2. Выберите вкладку Общие настройки .

Во вкладке Общие настройки:
  1. В поле Startup Command введите следующую команду: cp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reload .

    Заменяет файл конфигурации Nginx в контейнере PHP 8.0 и перезапускает Nginx. Эта конфигурация гарантирует, что это изменение вносится в контейнер при каждом его запуске.

  2. Выберите Сохранить .

6 — Перейти к приложению

Инструкции Скриншот
На странице службы приложений:
  1. В меню слева выберите Обзор .

  2. Выберите URL вашего приложения.

    Вы также можете перейти непосредственно к https://. azurewebsites.net .

Добавьте несколько задач в список. Поздравляем, вы запускаете управляемое данными приложение PHP в службе приложений Azure.

7 — Журналы потоковой диагностики

Инструкции Скриншот
На странице службы приложений:
  1. В меню слева выберите Журналы службы приложений .

  2. В разделе Ведение журнала приложений выберите Файловая система .

В меню слева щелкните Поток журнала . Вы увидите журналы для своего приложения, включая журналы платформы и журналы из контейнера.

Очистка ресурсов

Когда вы закончите, вы можете удалить все ресурсы из своей подписки Azure, удалив группу ресурсов.

Инструкции Скриншот
В строке поиска в верхней части портала Azure:
  1. Введите имя группы ресурсов.

  2. Выберите группу ресурсов.

На странице группы ресурсов щелкните Удалить группу ресурсов .
  1. Введите имя группы ресурсов, чтобы подтвердить удаление.

  2. Щелкните Удалить .

Часто задаваемые вопросы

  • Сколько стоит установка?
  • Как подключиться к базе данных MySQL, защищенной виртуальной сетью, с помощью других инструментов?
  • Как локальная разработка приложений работает с GitHub Actions?
  • Почему развертывание GitHub Actions происходит так медленно?
Сколько стоит установка?

Цены на создание ресурсов указаны ниже:

  • План службы приложений создается на уровне Premium V2 и может масштабироваться вверх или вниз. См. цены на службу приложений.
  • Гибкий сервер MySQL создан на уровне B1ms и может масштабироваться вверх или вниз. С бесплатной учетной записью Azure уровень B1ms предоставляется бесплатно в течение 12 месяцев, вплоть до месячных лимитов. См. цены на Базу данных Azure для MySQL.
  • Плата за виртуальную сеть не взимается, если вы не настроите дополнительные функции, такие как пиринг. См. цены на виртуальную сеть Azure.
  • За частную зону DNS взимается небольшая плата. См. цены на Azure DNS.
Как подключиться к базе данных MySQL, защищенной виртуальной сетью, с помощью других инструментов?
  • Для базового доступа из инструмента командной строки вы можете запустить mysql из SSH-терминала приложения.
  • Чтобы подключиться из настольного инструмента, такого как MySQL Workbench, ваш компьютер должен находиться в виртуальной сети. Например, это может быть виртуальная машина Azure, подключенная к одной из подсетей, или машина в локальной сети, имеющая VPN-подключение типа «сеть — сеть» к виртуальной сети Azure.
  • Вы также можете интегрировать Azure Cloud Shell с виртуальной сетью.
Как локальная разработка приложений работает с GitHub Actions?

В качестве примера возьмем автоматически созданный файл рабочего процесса из службы приложений. Каждый git push запускает новую сборку и развертывание. Из локального клона репозитория GitHub вы отправляете нужные обновления на GitHub. Например:

 git add .
git commit -m "<некоторое-сообщение>"
git push происхождение основной
 
Почему развертывание GitHub Actions происходит так медленно?

Автоматически созданный файл рабочего процесса из службы приложений определяет запуск двух заданий по схеме «сборка и развертывание». Поскольку каждое задание выполняется в собственной чистой среде, файл рабочего процесса гарантирует, что задание развертывания имеет доступ к файлам из задания сборки :

  • В конце задания сборки загрузите файлы как артефакты.