Bash с несколькими пробелами в одном аргументе

Проще говоря, "conf" больше похож на язык программирования, выполняющий действия последовательно по одной строке за раз. Я забыл попробовать вызвать /index.php напрямую вместо того, чтобы полагаться на index [] .

Этот печальный, php.conf проверял, заканчивается ли запрошенный путь на .php до того, как функция index [] была переписана запрос от / к /index.php .

Итак, замена:

include "/etc/lighttpd2/mimetypes.conf";
include "/etc/lighttpd2/vhost.conf";
include "/etc/lighttpd2/php.conf";

#docroot "/srv/http";
index [ "index.php", "index.html", "index.htm", "default.htm", "index.lighttpd.html" ];

на

docroot "/srv/http";
index [ "index.php", "index.html", "index.htm", "default.htm", "index.lighttpd.html" ];

include "/etc/lighttpd2/mimetypes.conf";
include "/etc/lighttpd2/vhost.conf";
include "/etc/lighttpd2/php.conf";

Все изменилось.
Порядок конфигурирования / исполнения важен!

Вот исходное сообщение с форумов разработчиков

Привет!

Конфигурация lighttpd2 - это, по сути, язык программирования, то есть список действий, которые выполняются по порядку. Лишь небольшой набор этих действий на самом деле является параметрами, которые задаются в контексте запроса.

Если во время выполнения содержимого php.conf физический путь не заканчивается на «.php», он не будет запускать php; но поиск index.php находится только в конце основной конфигурации! (и вы на самом деле не запрашивали "/index.php", запрос был только для "/") Итак:

  • vhost.conf, вероятно, должен устанавливать корневой каталог документов во всех случаях ; пусть он также обрабатывает корневой документ "по умолчанию".
  • либо вызовите index в нужных vhosts , либо вызовите его после vhost.conf для запуска для всех из них; но поставьте его перед "php.conf "
  • вы можете использовать log.write для отладки содержимого Phys.path в php.conf перед if: log.write "% {Phys.path} ";

Кстати: в инструкции показан правильный порядок :)

Я обычно помещаю (почти) все в конфигурации vhost (см. http://doc.lighttpd.net/lighttpd2/mod_vhost.html для обработки стандартных vhosts и общей концепции); я особенно активирую php только в блоках , которые мне действительно нужны; вы можете определить псевдонимы для общих действий конфигурации ( как показано в php howto).

- stbuehler

0
22.04.2018, 01:15
1 ответ

cd $3 && $1 $2 не является программой, которую можно вызвать. Вам нужно

Running_In_New_Xterm=exec xterm -hold -e bash -c "cd $3 && $1 $2"

или (с цитированием, если этого требуют аргументы; -a blah -o blahblahвозможно, не следует цитировать)

Running_In_New_Xterm=exec xterm -hold -e bash -c "exec cd '$3' && exec '$1' '$2'"
0
28.01.2020, 04:24

Теги

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