Как я могу заставить скрипты php запускаться локально в браузере?

Использовать Udev. Удэв - демон-диспетчер устройств. Помимо всего прочего, он отвечает за именование ваших устройств. Вы можете определить udev-правила, поместив файлы с определенным синтаксисом в каталог правил.

Как решить вашу проблему:

Сначала вам нужно собрать информацию на своем устройстве , Предположим, вы связали это, и знаете, что это идет под именем /dev/sdb1. Если это так:

udevadm info -a -p $(udevadm info -q path -n /dev/sdb1)

Команда выведет информацию о вашем устройстве. Это довольно длинный. Вам нужно найти то, что однозначно идентифицирует устройство. Это может быть серийный номер, например ATTRS{serial}=="UA04FLGC" или комбинация других атрибутов, таких как ATTRS{idVendor} и ATTRS{idProduct}. Большинство имен более или менее понятны. Выберите один или несколько из нескольких, которые кажутся разумными - если они не работают, попробуйте что-то еще.

Как только вы нашли уникальный идентификатор, создайте файл в /etc/udev/rules.d, который начинается с двух цифр и заканчивается на .rules. Две цифры указывают порядок обработки этих .rules-файлов - 70-usb-log-custom.rules - прекрасный выбор для вас. Синтаксис этого файла правил может быть очень сложным. Если вам интересно, google udev. Если вы не просто открываете вновь созданный файл и редактируете его, чтобы выглядеть примерно так:

# /etc/udev/rules.d/70-usb-log-custom.rules

KERNEL=="sd?1", ATTRS{serial}=="UA04FLGC", ACTION=="add", SYMLINK+="cusb1", RUN+="/home/confus/bin/usb-encrypt.sh add %k"
ENV{ID_FS_USAGE}=="crypto", ACTION=="remove", RUN+="/home/confus/bin/usb-encrypt.sh remove %k"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", GROUP="users", MODE="0666"

Это фактический файл udev, который я использую. В нем есть три правила. Каждая строка является правилом ее собственной. Первая строка запускает скрипт для создания расшифрованного устройства всякий раз, когда подключен зашифрованный диск. Вторая строка вызывает тот же скрипт с различными параметрами в случае удаления дешифрованного устройства. Третья строка устанавливает разрешения для другого связанного устройства.

Скорее всего, вам понадобится только первая строка. Удалите остальные и вставьте правильный серийный номер (или составные параметры, выбранные вами для идентификации вашего устройства).

Объяснение моего файла:

KERNEL=="sd?1" говорит, что устройство, которое мы смотрим поскольку в этом правиле указано по строкам /dev/sda1, /dev/sdc1 или что-то в этом роде. Вопросительный знак является шаблоном для любой буквы. ATTRS{serial}=="UA04FLGC" - уникальный идентификатор здесь. Для другого устройства, о котором я говорил (третья строка), я не использую серийный номер, а комбинацию SYSFS{idVendor}=="1781" и SYSFS{idProduct}=="0c9f", чтобы идентифицировать его.

ACTION=="add" сообщает правилу действуют только при добавлении устройства;

SYMLINK+="cusb1" создает символическую ссылку на диск, поэтому вы найдете ее под /dev/cusb1.

RUN+="/home/confus/bin/usb-encrypt.sh add %k" запускает скрипт и передает 'add' и '% k' (имя устройства).

Я не буду более подробно описывать, так как есть отличные уроки по правилам udev. То, что вы читаете здесь, должно быть достаточно, чтобы смотреть на него.

2
задан 18 January 2012 в 02:07

2 ответа

Установите пакет libapache2-mod-php5 (который также установит пакет для веб-сервера: apache2). Файлы можно поместить в /var/www.

Если вы затем откроете http: //localhost/index.html в своем браузере, появится /var/www/index.html.

Настройки по умолчанию: довольно безопасно, ошибки PHP регистрируются в /var/log/apache2/error_log и не отображаются в браузере. Чтобы изменить это на машине разработки, отредактируйте /etc/php5/apache2/php.ini и измените display_errors = Off на display_errors = On.

Некоторые модули не установлены по умолчанию. Если вы выполняете обработку изображений, вам, скорее всего, понадобится библиотека GD для PHP, package php5-gd. Чтобы получить список всех доступных модулей, откройте терминал, введите sudo apt-get install php5- и дважды нажмите клавишу Tab, чтобы получить список.

См. Также: http: //localhost/index.html

6
ответ дан 25 May 2018 в 15:05
  • 1
    Как изменить путь по умолчанию /var/www/index.html? – Vitaly Zdanevich 14 August 2014 в 19:11
  • 2
    Посмотрите файлы конфигурации в /etc/apache2/, особенно те, что указаны в /etc/apache2/sites-enabled/. – Lekensteyn 14 August 2014 в 20:02
  • 3
    Благодарю. Другой способ создания ссылки (я на Ubuntu): ln -s /my/location/of/project/ – Vitaly Zdanevich 14 August 2014 в 20:42

Установить taskel & amp; стек LAMP

sudo apt-get install tasksel

sudo tasksel install lamp-server

Теперь у вас должен быть сервер Apache с php и mysql.

0
ответ дан 25 May 2018 в 15:05

Другие вопросы по тегам:

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