Linux: Interpretado-em-leitura (ala php) para arquivos locais

4

Portanto, o problema específico é que eu quero que um arquivo no meu sistema seja vinculado a uma URL http, mas use uma versão local se não houver conexão. O problema é que o programa que está lendo este arquivo estará esperando o css e, portanto, não executará, por padrão, qualquer script de acesso / fallback que eu coloquei no arquivo.

Isso me fez pensar de maneira mais geral:
Quando você acessa um arquivo php em um servidor web, antes de ler o conteúdo do arquivo, o script php é interpretado. No que diz respeito a qualquer programa que acesse o arquivo, o conteúdo é a saída (eu sei que isso só funciona porque você está acessando via http).

Alguém sabe de um equivalente para arquivos locais? Estou ciente de que eu poderia apenas configurar o apache e usar uma solicitação http local para obter exatamente esse comportamento do php, mas estava interessado em saber se era possível sem isso.

Estou executando o Ubuntu 16.04 caso isso faça diferença

    
por M. Richardson 23.05.2017 / 07:59

1 resposta

3

Em geral, o sistema de arquivos /proc funciona de maneira semelhante, eu acho. Siga o Guia de programação do módulo de kernel do Linux .

Ou crie seu próprio FUSE que funcionará no espaço do usuário.

Editar
Existe um FUSE que parece fazer exatamente isso: ScriptFS . Seu README diz:

ScriptFS is a new file system which merely replicates a local file system, but replaces all files detected as "scripts" by the result of their execution.

Any script is supported. In a usual way of working, ScriptFS reads on its command line the name of two programs : one that is the script interpretor, and the other one a lightweight program that tells fast if a file on the disk is a script that can be read by the first program.

Eu acho que se você construir esses dois programas corretamente, eles poderão usar shebangs.

Nota: nunca usei o ScriptFS (ainda).

    
por 23.05.2017 / 08:34

Tags