Установите интерпретатор по умолчанию для файлов .php в Mac OS X / linux - PullRequest
0 голосов
/ 26 июня 2011

В OS X и Linux я могу запускать .php файлы из командной строки, если выполняются две вещи:

  1. Я установил исполняемый бит (chmod +x file.php)
  2. Я добавил #!/usr/bin/php в начало файла.

Однако, если я хочу запустить скрипт оболочки, я заметил, что могу пропустить шаг 2 , ион будет использовать интерпретатор по умолчанию, /usr/bin/sh

Есть ли параметры конфигурации, которые я могу установить, которые в основном говорят: «Если файл исполняемый (chmod +x) и расширение .php, тогда используйте /usr/bin/php как переводчик?

Мое идеальное решение позволит file.php жить в /localhost/www/ и разрешить доступ к нему через веб-браузер как http://localhost/file.php или через терминал через:

/localhost/www/$ <strong>./file.php</strong>

1 Ответ

2 голосов
/ 26 июня 2011

Если существует какой-либо способ связать тип MIME, кроме как путем просмотра строки интерпретатора или расширения, вы можете сделать это.Но я подозреваю, что вы на самом деле спрашиваете: «волшебным образом распознайте случайные PHP-скрипты, которые не помечаются как таковые», а «магически» означает, что ответ «нет».Люди могут распознать его с достаточной надежностью, но ваш компьютер не может без посторонней помощи.Именно поэтому существуют расширения файлов и строки интерпретатора.(Как правило, он не будет достаточно умным, чтобы надежно отличить PHP от Perl.)

Если у вас есть расширение (.php от вашей темы, в отличие от .sh в самом вопросе), тогда zsh имеет некоторую возможность настроить это, но bash пока нет.Тем не менее, вы можете сделать open в OS X и xdg-open в Linux обработать его правильно;первая конфигурируется для диалогового окна Get Info, а вторая - через xdg-mime или базу данных MIME-типа вашего рабочего стола (последняя предпочтительна, так как иногда импорт необработанных настроек XDG является черным искусством).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...