Как мне позвонить сценарий Perl с моим контроллером Symfony2? -- php поле с участием perl поле с участием symfony поле с участием controller пол Связанный проблема

How do I call a perl script from my Symfony2 controller?


1
vote

проблема

русский

Я пытаюсь реализовать автоматическую отправку в систему управления информацией из-за моего приложения Symfony2. Кто-то еще написал сценарий Perl для представления. Мне просто нужно использовать контроллер, чтобы получить значения от объекта, чтобы пройти скрипт в виде аргументов.

Я проверил сценарий Perl, запустив короткий скрипт PHP из командной строки:

 <код> <?php  $perlscript = 'test_submit_to_lims.pl';  $output = shell_exec('perl ' . $perlscript . " 'arg1' 'arg2' 'arg3' "); echo $output;  ?>   

Это возвращает строку с некоторыми ценностями, которые мне нужны для моего приложения.

Я поставил скрипт Perl и зависимые файлы в папке, называемую зависимости на том же уровне, что и моя папка проекта Symfony

Я пытался использовать аналогичный код в моем контроллере:

 <код> ...  $arg1 = $form->get('arg1')->getData(); $arg2 = $form->get('arg2')->getData(); $arg3 = $form->get('arg3')->getData(); $pathToScript = '/opt/sfprojects/dependencies'; $perlScript = "$pathToScript/test_submit_to_lims.pl"; $output = shell_exec('perl '.$perlScript." $arg1 $arg2 $arg3 "); var_dump($output);  ...   

Это дает мне «ошибка сети: 500 внутренней ошибки сервера - http://www2-mywebsite.org/ MyEntitiity / Create "

Я не уверен, вызвана ли ошибка чем-то простым в моем PHP-коде, по необходимости как-то включить Perl в файле конфигурации Symfony или что-то еще, как местоположение скрипта, разрешений файлов и т. Д.

.

Я был бы признателен за любые идеи того, где я мог пойти не так.

Английский оригинал

I am trying to implement an automatic submission to an information management system from within my Symfony2 application. Someone else has written a perl script for the submission. I just need to use the controller to get values from an entity to pass to the script as arguments.

I have tested the perl script by running a short php script from the command line:

<?php  $perlscript = 'test_submit_to_lims.pl';  $output = shell_exec('perl ' . $perlscript . " 'arg1' 'arg2' 'arg3' "); echo $output;  ?> 

This returns a string with some values of interest which I need for my application.

I have put the perl script and dependent files in a folder called dependencies at the same level as my Symfony project folder

I tried to use similar code in my controller:

...  $arg1 = $form->get('arg1')->getData(); $arg2 = $form->get('arg2')->getData(); $arg3 = $form->get('arg3')->getData(); $pathToScript = '/opt/sfprojects/dependencies'; $perlScript = "$pathToScript/test_submit_to_lims.pl"; $output = shell_exec('perl '.$perlScript." $arg1 $arg2 $arg3 "); var_dump($output);  ... 

This gives me "Network Error: 500 Internal Server Error - http://www2-mywebsite.org/myEntity/create"

I'm not sure whether the error is caused by something simple in my php code, by the need to somehow enable perl in a Symfony configuration file or something else like the location of the script, file permissions, etc.

I would appreciate any ideas of where I may have gone wrong.

</div
           
       
       

Список ответов

1
 
vote

Проверьте свой веб-сервер и журналы Symfony, чтобы увидеть, какую ошибку вы получаете. Logs Symfony расположены в каталоге App / Logs вашего проекта (по умолчанию). Расположение журналов Server зависит от вашей конфигурации.

Помните, вы можете использовать контроллер разработки (App_dev.php), чтобы увидеть более подробную информацию об ошибке (включая трассировку стека).

Чтобы на самом деле запустить вашу команду, рассмотрите возможность с использованием Компонент процесса .

 

Check your web server and Symfony logs to see what kind of error you're getting. Symfony logs are located in app/logs directory of your project (by default). Server logs location depends on your configuration.

Remember, you can use development controller (app_dev.php) to see more details about the error (including the stack trace).

To actually run your command consider using the Process component.

</div
 
 
 
 

Связанный проблема

0  PHP Copy () Проблемы и специальные символы  ( Php copy problems and special characters ) 
Я в настоящее время копирую определенные файлы, когда пользователь обновляет определенную информацию. Тем не менее, поскольку мы не можем иметь особых специал...

0  Создание электронной почты на основе запроса MySQL  ( Generating an email based on mysql query ) 
У меня есть 2 таблицы, отображаемые ниже. Похожие словари: . + -------------------------------- + |. Пользователь |. ilike |. + ---------------------------...

0  PHP Уведомление: undefined Holvil: stdclass:  ( Php notice undefined property stdclass ) 
У меня есть массив, возвращаясь из флэш-приложения, созданного в Flash Builder 4. У меня есть настройка службы, которые запросили и получают данные от DB, о...

0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM  ( How can i get count of records group by a column using with function in laravel ) 
Мне нужно получить количество записей <код> groupBy с использованием <код> with() функция, известная как adgerage loading. У меня есть две таблицы, имеющие ...

2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1  ( How to load openssl so dynamic library in php 5 2 1 ) 
Я недавно установил MAMP версию 1.6 на моем Mac OS 10.5.7. Теперь я управляю сценарием для подключения к сайту с помощью SSL. После некоторых исследований я...

0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения  ( Jquery mobile link from php to html not working but url does change ) 
Хорошо, так что когда я вошел в систему в свое приложение (index.html), я принимаю в login.php, отсюда я хочу меню для пользователя, но ни одна из моих ссылок...

13  Отфильтровать номера в строке в PHP  ( Filter out numbers in a string in php ) 
Предполагая, что у меня есть эти тексты 'x34', '150px', '650dpi', 'E3R4T5' ... Как я могу получить только номера? Я имею в виду, я хочу 34, 150, 650, 345 без ...

15  Рассчитать, какие продукты вместе доставят запрошенную силу  ( Calculate which products together would deliver the requested power ) 
Допустим, у меня есть три продукта: <Сильный> Продукт A Доставит 5 власти. Стоит 50. Product B доставит 9 мощность. Стоит 80. <Сильный> продукт C до...

1  PHP UNIX Время отсутствует Zeros  ( Php unix time missing zeros ) 
Хорошо, поэтому у меня есть следующая формула, но по какой-то причине, когда я не могу сказать, если это 5 минут или 50 минут, потому что он либо не отображае...

2  Найти реалированные данные таблицы1 в Таблице2  ( To find realted data of table1 in table2 ) 
Table1 имеет некоторые данные как категории Table2 имеет некоторые данные, которые реализуются в категориях Table1 и соотношение между двумя таблицами...

5  Экспорт SVG в PDF в автономном TideSDK WebApp  ( Exporting svg to pdf in a offline tidesdk webapp ) 
У меня есть приложение Offline HTML5 / CSS / JS, построенное с TIDESDK, в котором гистограмма нарисована с HighCharts в качестве SVG «Tag», используя данные, ...

0  Как я могу надежно разрешить веб-пользователям создавать файлы?  ( How can i securely allow web users to create files ) 
Я строю веб-сайт, который позволяет определенным пользователям писать отзывы, и я хочу автоматически генерироваться небольшой PHP-файл, когда они делают. Како...

1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для  ( Symfony 3 4 3 service container error requires that you provide a value for t ) 
Я потратил много времени, но я не решил это Я хотел бы пройти в LoggerInterface в действии моего контроллера Вот мой Service.yml <код> # Learn more about ...

1  Транзакции mysql и php  ( Transactions mysql and php ) 
Я запутался ABT работает транзакциями через PHP-скрипт. В моем MySQL AutoCommit устанавливается на 1, Тем не менее, когда я запускаю скрипт ex: mysql_query ...

0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя?  ( Limiting a results flickr api to avoid duplicate photos from a user ) 
пытается выводить изображения Flickr из определенного местоположения, не используя ни одного геолокации, но только строка местоположения, но это проблема для ...

Связанный проблема

0  PHP Copy () Проблемы и специальные символы 
0  Создание электронной почты на основе запроса MySQL 
0  PHP Уведомление: undefined Holvil: stdclass: 
0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM 
2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1 
0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения 
13  Отфильтровать номера в строке в PHP 
15  Рассчитать, какие продукты вместе доставят запрошенную силу 
1  PHP UNIX Время отсутствует Zeros 
2  Найти реалированные данные таблицы1 в Таблице2 
5  Экспорт SVG в PDF в автономном TideSDK WebApp 
0  Как я могу надежно разрешить веб-пользователям создавать файлы? 
1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для 
1  Транзакции mysql и php 
0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя?