سلام من میخوام از طریق php یا لاراول فایل پایتونی که در پوشه public پروژه هست رو اجرا کنم .
برای اینکار چیکار باید کرد
میتونی از Symfony Process استفاده کنی
میتونی به شکل زیر در لاراول نصبش کنی:
composer require symphony/process
و با کد زیر باید بتونی کد پایتون رو اجرا کنی (آدرس فایل رو کامل پاس بده):
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
$process = new Process(['python', '/path/to/your_script.py']);
$process->run();
// executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
ممنون @ali.bayat از پاسخگویی این رو امتحان کردم .البته به این صورت
$r = base_path()."\public"."\stp2stl.py" ;
$process = new Process(['python', $r]);
$process->run();
ولی خطای زیر رو میده
"""
The command "python D:\web\projects\myprojectName\public\stp2stl.py" failed.
Exit Code: 1(General error)
Working directory: D:\web\projects\myprojectName\public
Output:
================
Error Output:
================
'python' is not recognized as an internal or external command,
operable program or batch file.
در حالی که پایتون نصبه و اجرا میشه .
مشکل از کجاست؟
'python' is not recognized as an internal or external command,
operable program or batch file.
مشکل از شناخته نشدن دستور python هست
python رو به Environment Variable های سیستم عامل اضافه کردید؟
اره .
تو cmd که میزنم میاره. البته یه warning هم میده
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation
@ali.bayat
آقا علی من الان دارم از anconda استفاده میکنم. شاید به این خاطر باشه .
الان من اگه این رو بخوام تو هاست لینوکسی اجرا کنم یعنی اینکه تو هاست لینوکس دستور وارد کنم که فایل پایتون نصب بشه قابل اجرا هستش؟
البته تو هاست لینوکسی هم پایتون نصب هستش.
فکر کنم باید activate کنی:
conda activate name
conda run
@ali.bayat
اینا رو که تو cmd میزنم اوکی هستش. تو لاراول یا php چطوری اکتیو کنم یا اجرا کنم؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟