• 14-10-2007, 00:13:59
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Öncelikle araştırdım ve buna benzer bir soruna kodlarda değişiklikle çözüm bulan birinin olduğunu okudum forumda adres şu - COPY paste baya yer isteyecek
    Warning: exec() has been disabled for security reasons running Register Automation script | Price Tapestry

    Acaba hatalı yerdeki kodlarda nasıl değişiklik yaparak bu sorunu çözebilirim. EXEC fonksiyonu kaptılmış güvenlik için sanırım.

    Benim aldığım hata şu şekilde :
    Warning: exec() has been disabled for security reasons in /media.lib.php on line 901
    
    Warning: exec() has been disabled for security reasons in /media.lib.php on line 901
    
    Warning: exec() has been disabled for security reasons in /media.lib.php on line 901
    
    Warning: exec() has been disabled for security reasons in /media.lib.php on line 901
    Kodlarda bunlar :
            public function videoToFrame($source_filename, $temp_dir, $total_frames, $scale)
                {
                    if (substr($temp_dir,strlen($temp_dir)-1) == '/')
                        $t_dir = substr($temp_dir, 0, strlen($temp_dir)-1);
                    else
                        $t_dir = $temp_dir;
    
                    $total_frames = $total_frames+1;
                    for($i=1;$i<=27;$i+=8)
                        {
                            exec("\"".$this->CFG['admin']['video']['mplayer_path']."\""." ".$source_filename." -nosound -vo jpeg:outdir=".$t_dir." -ss ".$i." -frames ".$total_frames);
                        }
                    for($k=1;$k<$total_frames;$k++)
                        {
                            $from = $temp_dir.str_pad($k+1, 8, '0', STR_PAD_LEFT).'.'.$this->CFG['video']['image']['extensions'];
                            $to = $temp_dir.str_pad($k, 8, '0', STR_PAD_LEFT).'.'.$this->CFG['video']['image']['extensions'];
                            if(is_file($from))
                                {
                                    if(is_file($to))
                                        unlink($to);
                                    copy($from, $to);
                                }
                        }
                    $file = $temp_dir.str_pad($total_frames, 8, '0', STR_PAD_LEFT).'.'.$this->CFG['video']['image']['extensions'];
                    if(is_file($file))
                        unlink($file);
                }
  • 14-10-2007, 02:00:52
    #2
    php.ini tarafından exec() fonksiyonun kullanımı kapanmış, biraz tehlikeli bir fonksiyondur.
  • 14-10-2007, 02:02:08
    #3
    exec("\"".$this->CFG['admin']['video']['mplayer_path']."\""." ".$source_filename." -nosound -vo jpeg:outdir=".$t_dir." -ss ".$i." -frames ".$total_frames);
    bu kod sanırım video için yada flv her neyse,
    hiçbir şekilde çözemezsin sunucudan açmadan, çünkü o kod ancak exec veya türevleri system,proc_open vs ile çalışabilir.
  • 14-10-2007, 13:22:06
    #4
    Yönetici onayı bekliyor
    Evet aynen öyle Arkadas video vs. için EXEC kapalı ALexis bunu biliyorum - bu kodların yerine aynı işlevi gören EXEC siz fonksiyon yazılabilir mi diye sormuştum - Verdiğim adreste bu tarz bi soruna çözüm bulunmuş diye görünce - Ama sanırım çözümü yok. PHP den anlamadığım için bilemiyorum tabi ama Riskli diye kapatılan bu kodun yerine risksiz başka bir kod neden kullanılmaz ki PHP de
    Cevaplar için teşekkürler.