اجرای پایتون روی ژمپ(xampp)

25 فروردین 1395 Python پایتون #xampp

با سلام

خیلیها دوست دارند در کنار زبان شیرین php دستی هم بر بخش وب python داشته باشن . برای این کار اول python و xampp رو روی سیستم نصب میکنیم بعد فایل httpd.conf رو باز و ویرایش میکنیم.در ابتدا خط

AddHandler cgi-script .cgi .pl .asp

رو جستجو کرده و عبارت py. رو به انتهای اون اضافه میکنیم به صورت زیر

AddHandler cgi-script .cgi .pl .asp .py

خب حالا نوبت به شناساندن پوشه پایتون هست داخل پوشه htdocs یک پوشه به هر اسمی که مایل هستید مثلا python ایجاد کنید

در ادامه درون فایل httpd.conf مقدار <Directory /> را جستجو کرده و در یک قسمت خالی مقدار زیر را وارد کرده و فایل را ذخیره میکنیم

  <Directory "/opt/xampp/htdocs/python">
      Options +ExecCGI
      AddHandler cgi-script .cgi .py
      Order allow,deny
      Allow from all
  </Directory>

خب حالا نوبت به نوشتن کدهای پایتون میشود

درون آدرس htdocs/python یک فایل با نامی دلخواه مثلا index.py ایجاد کنید و کدهای زیر را درون آن قرار دهید

#!/Python34/python.exe
# -*- coding: UTF-8 -*-

# enable debugging

print( "Content-type: text/html")
print()
print("<html>") 
print("<head>") 
print("<title>python in xampp</title>") 
print("</head>") 
print("<body>") 
print("<h1>4xmen</h1>") 
print("<p>this is a test</p>") 
print("<p>the hello world example</p>") 
print("<input type='button' value='msgbox' onclick='alert(\"hello python\")' />") 
print("</body>") 
print("</html>")

مقدار عبارت /Python34/python.exe در خط اول آدرس مفسر پایتون میباشد که بر حسب نسخه پایتون نام پوشه متفاوت است مثلا اگر پایتون نسخه 2.7 روی سیستم شما نصب باشد آدرس به صورت /Python27/python.exe تغییر میکند

 

موفق و پیروز باشید

💬

شاید امروز جواب خیلی از سؤال‌ها را بتوان از AI گرفت، اما تولید مطالب تخصصی، تجربه‌محور و عمیق هنوز به انگیزه نیاز دارد. این نظرات و بازخوردهای شماست که به ما نشان می‌دهد ادامه دادن این مسیر ارزشمند است.

دیدگاه شما چیست؟

نظرات (8)

nimaarek
6 اردیبهشت 1395

سلام
آقا یه سوال خارج از بحث این پایتون هیچ تابع آسیب پذیری نداره ؟ در کل منظورم اینه که صفحات پویای وبی که با پایتون نوشته میشن امن هستن ؟

lord_viper
7 اردیبهشت 1395

سلام
تا اونجا که من میدونم تابع اسیب پذیر خیر مگه اینکه برنامه نویس موقع نوشتن برنامه مسایل امنیتی رو رعایت نکنه

mortaza7khat
16 تیر 1395

من پایتون رو در G نصب کردم ادرس فایل exe رو پایتون داخل درایو g رو نوشتم اونجا اما به جای اجرای توابع برام کد رو به صورت متنی نشون داد در ضمن ادرس رو با فرمتی که گفتید هم نوشتم باز هم نشد(python)
آدرس localhost/phyton/index.py رو هم زدم باز نشد xampp رو ری استارت کردن بازم نشد
تو پوشه g:/python_install/ نصب کردم نرم افزارش رو
مشکل کجاست؟

lord_viper
21 تیر 1395

با سلام و احترام
شما تغییرات لازم رو درون httpd.conf انجام ندادید تا xampp بتونه پسوند پایتون رو تشخیص بده به همین خاطر باهاش مثل یک فایل متنی برخورد میکنه
در ابتدای پست توضیح دادم چه تغییراتی رو باید درون فایل httpd.conf ایجاد کنید

mortaza7khat
16 تیر 1395

xampp من 7.0.6 و پایتونم 3.5.2 هست

سید بحری
10 فروردین 1398

این قسمت نیز باید تغییر کند

DirectoryIndex index.php index.pl index.cgi index.asp index.py index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm

نیما باقری
2 آبان 1398

عالی بود ولی چه طور میشه داخل هاست php
پایتون اجرا کرد
و اینکه چه طور میشه گفت با کلیک کردن این دکمه این فایل پایتون اجرا بشه؟

lord_viper
6 آبان 1398

آدرس action فورمتون رو میدین به فایل پایتون
یا میتونین از دستور shell_exec استفاده کنین

< ?PHP $sym = $_POST['symbols']; echo shell_exec("python test.py .$sym"); ?>

در پایتون:

import sys
print(sys.argv[1])


ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

عضویت در شبکه‌های اجتماعی

جدیدترین مقالات و نکات برنامه‌نویسی را سریع تر از دیگران مطلع شوید.