Python脚本在从PHP调用时只执行前几行代码,而从命令行执行代码时执行完美。 我在Windows上通过xampp服务器运行PHP。我已经研究了很多这方面但是我找不到任何有用的方法可以解决我的问题。我在这里,因为我必须在早上提交给我的老板,任何帮助都将受到高度赞赏 以下是我用来从PHP执行python脚本的代码片段。
$cmd = 'python C:\xampp\htdocs\aws_engine\images\aws_engine_script.py';
$command = escapeshellcmd($cmd);
//$run = shell_exec($command);
$pid = popen( $command,"r");
while( !feof( $pid ) )
{
echo fread($pid, 256);
flush();
ob_flush();
usleep(100000);
}
pclose($pid);
这是我的python脚本,它与AWS S3建立连接并将图像文件从目录上传到S3存储桶但是,我的脚本在第二个打印语句后停止:
#header files
import os
import tinys3
import glob
from subprocess import check_output
from time import gmtime, strftime
#Providing AWS Access and Secret key credentials
print('Establishing connection to S3..')
conn = tinys3.Connection('XXXXXXXXXX','XXXXXXXXXXX',tls=True)
print('Connection established & uploading files...')
#loop for uploading image files with in a local directory of extensions PNG, JPG & JPEG
for root, dirs, filenames in os.walk('C:/xampp/htdocs/aws_engine/images/'):
for f in filenames:
if f.endswith(".jpg") or f.endswith(".jpeg"):
k = open(f,'rb')
conn.upload(f,k,'deeplearning-test-bucketsppu')
print (f)
print('\n All files Uploaded successfully !')