Какой самый простой способ включить PHP на nginx?

Пока в вопросе изображен элемент

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

Некоторые элементы, такие как

  • в приведенном выше примере, а также

    , имеют необязательные концевые теги, что может вызвать непреднамеренные побочные эффекты в обработке DOM, а также при наличии inter -элементные пробелы. Например, следующие два элемента

      не создают эквивалентные деревья узлов, в частности, первый не приводит к li:empty:

      li:empty::before { content: '(empty)'; font-style: italic; color: #999; }

      Учитывая, что HTML считает, что межэлементное пустое пространство должно быть прозрачным по дизайну , нецелесообразно хотеть нацеливать такие элементы на CSS без необходимости прибегать к модификации HTML или приложение, генерирующее его (особенно, если вам нужно реализовать и протестировать специальный случай только для этого).

      Как уже упоминалось, псевдокласс класса :blank в селекторах 4 решит эту проблему. К сожалению, он не попал в настоящий стандарт, потому что он не был предложен ранее, или просто не было возможности его реализовать. Даже его название еще не завершено, и неясно, было ли проверено или завершено описанное поведение.

      Поскольку это относительно новое предложение для стандарта, нет известных реализаций вне из :-moz-only-whitespace, для которого MDN имеет этот , чтобы сказать:

      Псевдокласс :-moz-only-whitespace соответствует элементу, у которого нет дочерних узлов вообще или пустой текст узлы или текстовые узлы, в которых есть только белые пробелы. Только когда в элементе есть узлы элементов или текстовые узлы с одним или несколькими символами, элемент больше не соответствует этому псевдоклассу.

      blockquote>

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

      Поскольку он не реализован нигде, в настоящее время нет эквивалента в любом другом браузере. Тем временем, изменение HTML является единственным вариантом, будь то в источнике или с помощью DOM-манипуляции с использованием скрипта.

  • 131
    задан Jorge Castro 9 May 2012 в 22:48
    поделиться

    2 ответа

    Следующий метод получит Вас, запустился быстро на Ubuntu 12.04:

    Установка зависимости:

    sudo apt-get install php5-common php5-cli php5-fpm

    Установка nginx:

    sudo apt-get install nginx

    Запускают nginx:

    sudo service nginx start

    Тест, что это работает (должен см., "Добро пожаловать в nginx!")

    sudo service nginx stop

    В Вашей nginx конфигурации сайта (/etc/nginx/sites-available/default), измените строку в сервере {} раздел

    index index.html index.htm к index index.php index.html index.htm.

    Некомментарий строки в сервере {} раздел, запускающийся с [1 124]

    listen для ipv4 / ipv6 оба.

    Прокручивают вниз туда, где это говорит "местоположение ~ .php {" и строки некомментария, таким образом, это похоже на это:

    location ~ \.php$ {
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      include fastcgi_params;
    }
    

    sudo service php5-fpm restart sudo service nginx restart

    Ваш веб-корень по умолчанию расположен в/usr/share/nginx/www (на файл конфигурации). (См. root /usr/share/nginx/www;

    (Примечание: Для Ubuntu 12.10 или более новый, необходимо будет заменить fastcgi_pass 127.0.0.1:9000; строка с этим, чтобы заставить его работать: fastcgi_pass unix:/var/run/php5-fpm.sock;)

    141
    ответ дан shscampbell 22 October 2019 в 14:44
    поделиться

    РЕДАКТИРОВАНИЕ: , Как указано [1 113] Matt Browne можно быть интересно этим более свежим сообщением:
    , Как Установить Linux, Nginx, MySQL, PHP (стек LEMP) в Ubuntu 16.04

    <час>

    , ответ papashou корректен на старой Ubuntu 12.04. Начиная с Ubuntu 12.10 несколько отличается конфигурация. Вот то, что я сделал:

    Установка

    sudo apt-get install nginx php5-fpm
    

    Включает Некомментарий PHP

    , который следующие строки в конфигурационном файле /etc/nginx/sites-available/default

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    
    #   # With php5-cgi alone:
    #   fastcgi_pass 127.0.0.1:9000;
        # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
    

    Запускают (или перезапуск)

    sudo service php5-fpm restart
    sudo service nginx restart
    

    Тест nginx

    Открытие, которое эта ссылка http://localhost должна отобразить "Добро пожаловать в nginx!"

    Тест php

    Создают php файл:

    • путь назначения является выводом [1 131]

      awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default
      

      , например, /usr/share/nginx/www

    • Запись info.php файл с:

      echo '<?php phpinfo(); ?>' | \
          sudo tee /usr/share/nginx/www/info.php
      

      или поскольку острота

      echo '<?php phpinfo(); ?>' | \
          sudo tee "$(awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default)/info.php"
      

    Открытие http://localhost/info.php должна отобразить информационную страницу PHP.

    46
    ответ дан Community 22 October 2019 в 14:44
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: