Обычно я пытаюсь отформатировать свой вопрос как основной вопрос, а затем объясняю свою ситуацию, но решение, которое я ищу, может быть совершенно неправильным, поэтому вот проблема:
Я строюкаталог приложений для сайта аукциона, который имеет возможность сохранять отдельные лоты.До сих пор это работало замечательно, просто создав cookie-файл с разделенным запятыми списком идентификаторов для этих лотов, используя что-то вроде этого:
$_COOKIE["MyLots_$AuctionId"] = implode(",",$arrayOfIds);
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я идунапечатайте лоты, я использую wkhtmltopdf через командную строку, чтобы запросить URL распечатки, которую я хочу, например:
exec("wkhtmltopdf '$urlofmylots' filename.pdf");
Проблема в том, что я не могу передать cookie для этого вызовапотому что Apache видит внутренний запрос, а не запрос пользователя.Я попытался поместить его в строку get, но как только у меня будет больше заданного предела для параметров GET, это значение исчезнет из массива $ _GET на целевом URL.Я не могу найти способ отправить данные POST между ними.Мои следующие возможные идеи следующие:
Может быть, просто передать идентификатор сессии для URL-адреса и посмотреть, есть ли способ, с помощью которого я могу использовать PHP, чтобы копаться в файлах cookie для этого сеанса и извлекатьправильный cookie, но это звучит так, как если бы PHP-сервер позволял рисковать с точки зрения безопасности (позволить одному сеансу быть в курсе другого).Пример:
exec("wkhtmltopdf '$urlofmylots?sessionId=$sessionIdFromThisRequest' filename.pdf");
Возможно, установите переменную сеанса, а затем передайте этот идентификатор сеанса и посмотрите, могу ли я использовать PHP для просмотра этой информации (вместо использования файла cookie).
Смогу ли я просто создать массив и каким-то образом заставить этот другой скрипт знать об этом, возможно, включив его?Это на самом деле не решает проблему того, что wkhtmltopdf ожидает адрес, обращенный к сети, в качестве первого параметра.
(не совсем идея, но некоторые рассуждения) В других случаях использования этого,Я только что передал идентификатор скрипту, который генерирует разметку для анализа wkhtmltopdf, и скрипт использует этот идентификатор для получения данных из базы данных.Я не хочу хранить эти данные в файле или базе данных для простой цели передачи данных от вызывающего к вызываемому в этом случае.Файлы cookie и сеансы кажутся более чистыми, поскольку apache / php управляет распределением памяти для этих сеансов.
Главная проблема здесь в том, что я пытаюсь заставить мой второй скрипт (на который ссылается здесь $ urlofmylots) узнать о данных, доступных для вызывающего скрипта, но он выполняется так, как если быэто был внешний веб-запрос, а не два php-скрипта, вызываемые из корневого веб-каталога.
Кто-нибудь может подсказать здесь что-нибудь?