Компьютеры и программы

Фокус с сайтом надо сделать

OCTAGON 27-04-2016 12:03

Что-то не выходит каменный цветок.

Надо под апачем показать содержимое исполняемых файлов - PHP.
Чтобы на работающем сайте можно было показать код работающих скриптов.
Сайт свой, демонстрационный.
Выкладывать архив сайта рядом можно, но не хочется.

Коллеги говорят, что это невозможно. Кто что подскажет?

ayf 28-04-2016 20:05

а может гиперссылку на документ с кодом? Ну так, в порядке бреда...
OCTAGON 28-04-2016 21:05

Документу актуальность поддерживать надо. А сайт в перманентной доработке.
Идеально б было, если б можно было не морочиться - поднял на сайт новые скрипты и их содержимое всем видно.

Проще всего наверное делать копии скриптовых файлов с другим каким-то расширением, например *.PHP.TXT и класть их рядом с оригинальными *.PHP.
Но это создает лишние файлы.

И ссылку не на документ, а на всю корневую папку сайта.

Что б понятнее было, нафига сие...
Есть два сайта. Один отвечает за функционал и как положено закрыт, но у него интерфейс сугубо технический на чём-то типа облегчённого JSON-a - данные туда-сюда ходят, а внешнего вида вообще нет.
Второй - просто "морда" к первому, его тексты полностью открыты и его задача показать, что подобную "морду" несложно переписать, как потребителю больше нравится.

Esterdes 30-04-2016 17:32

$text = file_get_contents("index.php");
$text = htmlspecialchars($text);
echo $text;

Но проще будет передать файл на скачивание:

$file = 'index.php';
if (ob_get_level()) {
ob_end_clean();
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;

OCTAGON 01-05-2016 09:36

В смысле дополнительный вьювер... Да, так наверное лучше.
maxifox 11-05-2016 11:48

Каменный цветок относительно прост: как показать код PHP, используя только конфигурацию Apache.

Оригинальный сайт на PHP:

http://ec2-52-51-128-154.eu-west-1.compute.amazonaws.com/

Просмотр кода PHP сайта с него же:

http://ec2-52-51-128-154.eu-we...zonaws.com/src/

Конфигурационный файл /etc/httpd/conf.d/php-src.conf, реализующий функционал показа PHP исходников:

Alias "/src" "/var/www/html"
<Location "/src">
Options Indexes FollowSymLinks
DirectoryIndex disabled
Order allow,deny
Allow from all
php_flag engine Off
AddType text/plain php
</Location>

Через некоторое время я погашу пример, ссылки на AWS работать не будут.

Замечу, что более правильным подходом было бы отдача или просмотр исходников из системы контроля версий. У всех таких систем обычно есть веб интерфейс для этого.

OCTAGON 11-05-2016 18:25

Да прольётся на вас пивной дождь, уважаемый)))
Получилось.

Компьютеры и программы

Фокус с сайтом надо сделать