Запуск PHP локально с Ubuntu - PullRequest
0 голосов
/ 18 июня 2020

Я использую Ubuntu 18.04 на Google Cloud Platform и пытаюсь запустить тестовый файл с именем login.php. Путь - /var/www/login.php. Всякий раз, когда я пытаюсь запустить его, я использую sudo php -f /var/www/login.php, а затем проверяю http://localhost/var/www/login.php в моем веб-браузере. Однако мой веб-браузер возвращает . Этот сайт недоступен, localhost отказался подключиться. Я везде искал решение, но мой веб-браузер всегда возвращается с ошибкой.

1 Ответ

2 голосов
/ 18 июня 2020

Вы не должны использовать http://localhost для доступа к виртуальной машине, работающей в GCP.

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

Пожалуйста, ознакомьтесь с моими шагами ниже:

  1. создать экземпляр ВМ:
$ gcloud compute instances create instance-1 --zone=us-central1-a --machine-type=n1-standard-1 --image=ubuntu-1804-bionic-v20200610 --image-project=ubuntu-os-cloud 
настроить сетевой тег на экземпляре ВМ:
$ gcloud compute instances create instance-1 --zone=us-central1-a --tags=php-http-server
создать правило брандмауэра, разрешающее входящий трафик c на порт 8080:
$ gcloud compute firewall-rules create allow-php-http-8080 --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:8080 --source-ranges=0.0.0.0/0 --target-tags=php-http-server
установить php 7.2:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install php7.2
создать index.php файл:
$ cd /var/www/
$ cat index.php 
<?php
echo 'Hello World!';
?>
запустить веб-сервер PHP из папки с index.php файлом:
$ php -S localhost:8080
PHP 7.2.24-0ubuntu0.18.04.6 Development Server started at Thu Jun 18 12:31:16 2020
Listening on http://localhost:8080
Document root is /var/www
Press Ctrl-C to quit.
проверить соединение от экземпляра ВМ (через вторичное соединение S SH):
$ curl http://localhost:8080
Hello World!
запустить веб-сервер PHP на внутреннем IP-адресе вашего экземпляра виртуальной машины:
$ php -S 10.128.0.4:8080
PHP 7.2.24-0ubuntu0.18.04.6 Development Server started at Thu Jun 18 12:40:46 2020
Listening on http://10.128.0.4:8080
Document root is /var/www
Press Ctrl-C to quit.
проверить подключение из локальной сети на внешний IP-адрес вашей виртуальной машины:
$ curl http://34.XXX.XXX.121:8080
Hello World!

тот же результат через веб-браузер по адресу http://34.XXX.XXX.121:8080:

Hello World!

Кроме того, посмотрите Начало работы с PHP на Compute Engine , чтобы увидеть альтернативное решение.

...