CasperJS не работает при использовании PHP exec () PhantomJS работает нормально

Итак, я написал скрипт для своей работы, который использует CasperJS, чтобы захватить PDF-файл и загрузить его, а затем продолжить выполнение скрипта PHP. Я вызываю этот скрипт с помощью exec ().

Это прекрасно работает на моей машине с Windows 10, используя XAMPP. Однако, когда я портирую его на свой рабочий ноутбук (Macbook Pro с последней версией OSx), exec () не будет работать с casperJS. Я могу вызывать phantomjs —version и casperjs —version из терминала без проблем, оба были установлены с использованием node.js с глобальным флагом. Я подтвердил, что они находятся в usr / local / bin.

Когда я бегу
exec («phantomjs —version», $ output);
Работает нормально и возвращает версию phantomjs.

Когда я бегу
exec («casperjs —version», $ output);
Он возвращает пустой массив в выводе, а не номер версии.

Я не уверен, почему это происходит, и я гуглял и гуглял, и никаких решений. Я нашел несколько тем, в которых были одни и те же проблемы, и я реализовал их решения, и они все еще не будут работать. Мой код для работы длинный и содержит много информации, которой я не могу поделиться, но вот мой тестовый скрипт, который я создал, чтобы посмотреть, смогу ли я обойти эту проблему.

Я также хочу указать, что я использую XAMPP для Mac для запуска этого, так как я не хотел тратить время на настройку бродячей коробки и настройку VPN-компонентов (через которые должен выполняться мой скрипт) для запуска этого скрипт.

<?php
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
putenv("DYLD_LIBRARY_PATH");
putenv("PATH=/usr/local/bin");
exec("casperjs --version", $output);

print_r($output);
?>

Ненавижу просить помощи, но запуск этого сценария займет еще 2 дня, и, поскольку я должен быть подключен к VPN, мой основной компьютер, который я использую для игр, личных проектов и т. Д., Связан, и я ЛЮБЛЮ перенести это на свой рабочий ноутбук, чтобы я мог наслаждаться своим персональным компьютером в эти выходные.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …