Você pode simplesmente adicioná-lo ao Apache como um novo host virtual?
A maneira mais simples de fazer com que algo se comporte como um site é tratá-lo como um site. Se você pudesse apenas hospedar isso como um site local (por exemplo, apenas na interface 127.0.0.1) e wget, provavelmente seria a forma mais barata e mais limpa de lidar com isso.
Execute-o como um script com o comando php
Você pode executar php example.php > output.html
e isso deve funcionar para a maioria dos scripts simples.
Observe que isso usará a configuração do php-cli em vez das configurações mod_php
, php-fpm
, php-cgi
, etc. Isso pode ser importante se você tiver uma configuração engraçada.
Editar: vi esta pergunta ontem que pode ser útil. É destinado a wordpress, mas a mesma lógica deve ser aplicada para a maioria das coisas onde você precisa falsificar uma solicitação real. Você configura uma carga de variáveis $_SERVER
do PHP para que o seu script (seja o que for) possa ser executado corretamente… E então incluir seu script.
Use o servidor interno do PHP (requer PHP 5.4 +)
Se você cd
em seu diretório e executar php -S localhost:9000
, inicie um servidor local na porta 9000 que hospedará seu site. Isto é apenas para testar coisas como esta e nunca deve ser exposto à internet .
Isso permite que você faça uma pesquisa tradicional em wget
:
wget -O output.html http://localhost:9000/example.php
Da minha resposta anterior (agora excluída), se você precisar falsificar o nome do domínio, wget
permitirá que você passe o host para dentro. Isso será útil se o PHP estiver fazendo pesquisas nas variáveis do servidor.
wget -O output.html --header "Host: example.com" http://localhost:9000/example.php