מה עלי לעשות כדי לפתור את השגיאה הזו בהתקנת מיילגן?


  • תכנות

     root@forum:/var/www/html/src/addons/shareinmambers# sudo php composer.phar require mailgun/mailgun-php php-http/guzzle6-adapter php-http/message
     
     Do not run Composer as root/super user! See https://getcomposer.org/root for details
     
     Using version ^2.8 for mailgun/mailgun-php
     
     Using version ^2.0 for php-http/guzzle6-adapter
     
     Using version ^1.7 for php-http/message
     
     ./composer.json has been updated
     
     Loading composer repositories with package information
     
     Updating dependencies (including require-dev)
     
     Your requirements could not be resolved to an installable set of packages.
     
     
     
       Problem 1
     
         - Installation request for mailgun/mailgun-php ^2.8 -> satisfiable by mailgun/mailgun-php[2.8.0].
     
         - php-http/guzzle6-adapter v2.0.0 requires php-http/httplug ^2.0 -> satisfiable by php-http/httplug[v2.0.0].
     
         - php-http/guzzle6-adapter v2.0.1 requires php-http/httplug ^2.0 -> satisfiable by php-http/httplug[v2.0.0].
     
         - Conclusion: don't install php-http/httplug v2.0.0
     
         - Installation request for php-http/guzzle6-adapter ^2.0 -> satisfiable by php-http/guzzle6-adapter[v2.0.0, v2.0.1].
     
     
     
     
     
     Installation failed, reverting ./composer.json to its original content.
     
     root@forum:/var/www/html/src/addons/shareinmambers#

  • תכנות

    אין לי מושג.
    אבל למה אתה לא מפרט מערכת הפעלה, גירסה וכו'?


  • תכנות

    תנסה להתקין אחד אחד לראות מי הבעייתי


  • תכנות

    @chagold אמר במה עלי לעשות כדי לפתור את השגיאה הזו בהתקנת מיילגן?:

    php composer.phar require mailgun/mailgun-php php-http/guzzle6-adapter php-http/message

    ואגב אצלי הפקודה הזו עובדת בלי בעיות


  • תכנות

    @מנצפך אמר במה עלי לעשות כדי לפתור את השגיאה הזו בהתקנת מיילגן?:

    אבל למה אתה לא מפרט מערכת הפעלה, גירסה וכו'?

    ubunto 18.4


  • תכנות

    @שואף אמר במה עלי לעשות כדי לפתור את השגיאה הזו בהתקנת מיילגן?:

    php-http/guzzle6-adapter

    השגיאה כאן

    php-http/guzzle6-adapter



  • https://github.com/mailgun/mailgun-php/issues/154
    תבדוק אם משהו שם עוזר לך.

    שים לב שאתה לא חייב בכלל את הספריה של mailgun אתה יכול לעבוד "לבד" מול mailgun או עם smtp או עם בקשות REST.
    תוכל להסתכל בדוגמאות הcurl שבאתר mailgun, למשל פה:
    https://documentation.mailgun.com/en/latest/quickstart-sending.html#send-via-api

    ולכתוב קוד PHP דומה. תוכל להיעזר בממירים אוטומטיים ברשת כמו זה
    https://incarnate.github.io/curl-to-php/

    בהצלחה.


  • תכנות

    @dovid אמר במה עלי לעשות כדי לפתור את השגיאה הזו בהתקנת מיילגן?:

    תוכל להסתכל בדוגמאות הcurl שבאתר mailgun, למשל פה:
    https://documentation.mailgun.com/en/latest/quickstart-sending.html#send-via-api

    את זה רציתי לעשות (וזה php), אבל אני מקבל שגיאה בשורה של use Mailgun\Mailgun;
    הבנתי שזה בגלל שאני צריך להתקין את מיילגן. ולכן שאלתי.

    מה לא הבנתי נכון?



  • @chagold אכן לא הבנת אותי.
    תעיף כל זכר לmailgun בקוד שלך.
    צור פונקציית PHP חדשה משלך, תקרא לה SendMail ותבצע בה את הcurl כפי הדוגמא שמופיעה שם תחת המקטע Send via API.
    ככה זה נראה:

    curl -s --user 'api:YOUR_API_KEY' \
        https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
        -F from='Excited User <mailgun@YOUR_DOMAIN_NAME>' \
        -F to=YOU@YOUR_DOMAIN_NAME \
        -F to=bar@example.com \
        -F subject='Hello' \
        -F text='Testing some Mailgun awesomeness!'
    

    ואיך עושים את זה בPHP? לכן אני נעזר באתר הזה https://incarnate.github.io/curl-to-php/
    שמביא לי את התוצאה הזו:

    // Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    
    curl_setopt($ch, CURLOPT_USERPWD, 'api' . ':' . 'YOUR_API_KEY');
    
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close ($ch);
    

    כמובן שהספריה זה טוב יותר כי זה נותן שגיאות נכונות ואפשרויות וכו', אבל אם לא עובד לא עובד - ודאי שזה לא צריך לעכב אותך.



  • כעת אני וראה שהקוד שנוצר בכלל לא טוב.
    אני מחפש גנרייטור אחר... 🙂



  • מצאתי, PostMan.
    עשיתי File > Import... שם בחרתי בRaw Text והדבקתי את הcurl.
    לאחר האישור לוחצים על הלחצן קוד בצד שמאל, ובוחרים מהרשימה PHP, יש שם שלושה אפשרויות curl של php, או httpRequest ועוד משהו לא זוכר. הנה הקוד ע"י ספריית httpRequest

    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages');
    $request->setMethod(HTTP_METH_POST);
    
    $request->setHeaders(array(
      'Postman-Token' => 'ae379c5e-c99c-4d04-be83-f76ed00f725c',
      'cache-control' => 'no-cache',
      'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
    ));
    
    $request->setBody('------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="from"
    
    Excited User <mailgun@YOUR_DOMAIN_NAME>
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="to"
    
    YOU@YOUR_DOMAIN_NAME
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="to"
    
    bar@example.com
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="subject"
    
    Hello
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="text"
    
    Testing some Mailgun awesomeness!
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--');
    
    try {
      $response = $request->send();
    
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    

    תכניס את זה לפונקציה מסודרת ותשתיל את הפרמטרים לשלוח והמקבל וכו'.


  • תכנות

    א. תודה.
    ב. יש שגיאה

    An exception occurred: [Error] Class 'shareinmambers\HttpRequest' not found
    

    ניסיתי להתקין

     pecl install -f pecl_http-1.7.6
    

    ויש שגיאה. אני מצרף את הלוג

     root@forum:~# pecl install -f pecl_http-1.7.6
     
     WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
     
     downloading pecl_http-1.7.6.tgz ...
     
     Starting to download pecl_http-1.7.6.tgz (174,722 bytes)
     
     .....done: 174,722 bytes
     
     71 source files, building
     
     running: phpize
     
     Configuring for:
     
     PHP Api Version:         20170718
     
     Zend Module Api No:      20170718
     
     Zend Extension Api No:   320170718
     
     whether to enable cURL HTTP requests; specify libcurl directory [yes] :
     
     whether to enable support for gzencoded/deflated message bodies; specify zlib directory [yes] :
     
     whether to enable response content type guessing; specify libmagic directory [no] :
     
     whether to depend on extensions which have been built shared [yes] :
     
     building in /tmp/pear/temp/pear-build-rootz6Lgwx/pecl_http-1.7.6
     
     running: /tmp/pear/temp/pecl_http/configure --with-php-config=/usr/bin/php-config --with-http-curl-requests --with-http-zlib-compression --with-http-magic-mime=no --with-http-shared-deps
     
     checking for grep that handles long lines and -e... /bin/grep
     
     checking for egrep... /bin/grep -E
     
     checking for a sed that does not truncate output... /bin/sed
     
     checking for cc... cc
     
     checking whether the C compiler works... yes
     
     checking for C compiler default output file name... a.out
     
     checking for suffix of executables...
     
     checking whether we are cross compiling... no
     
     checking for suffix of object files... o
     
     checking whether we are using the GNU C compiler... yes
     
     checking whether cc accepts -g... yes
     
     checking for cc option to accept ISO C89... none needed
     
     checking how to run the C preprocessor... cc -E
     
     checking for icc... no
     
     checking for suncc... no
     
     checking whether cc understands -c and -o together... yes
     
     checking for system library directory... lib
     
     checking if compiler supports -R... no
     
     checking if compiler supports -Wl,-rpath,... yes
     
     checking build system type... x86_64-pc-linux-gnu
     
     checking host system type... x86_64-pc-linux-gnu
     
     checking target system type... x86_64-pc-linux-gnu
     
     checking for PHP prefix... /usr
     
     checking for PHP includes... -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib
     
     checking for PHP extension directory... /usr/lib/php/20170718
     
     checking for PHP installed headers prefix... /usr/include/php/20170718
     
     checking if debug is enabled... no
     
     checking if zts is enabled... no
     
     checking for re2c... no
     
     configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
     
     checking for gawk... gawk
     
     checking whether to enable extended HTTP support... yes, shared
     
     checking whether to depend on extensions which have been built shared... yes
     
     checking whether to enable cURL HTTP request support... yes
     
     checking whether to enable libevent support fur cURL... yes
     
     checking whether to enable zlib encodings support... yes
     
     checking whether to enable response content type guessing... no
     
     checking for egrep... (cached) /bin/grep -E
     
     checking for a sed that does not truncate output... (cached) /bin/sed
     
     checking how to run the C preprocessor... cc -E
     
     checking for ANSI C header files... yes
     
     checking for sys/types.h... yes
     
     checking for sys/stat.h... yes
     
     checking for stdlib.h... yes
     
     checking for string.h... yes
     
     checking for memory.h... yes
     
     checking for strings.h... yes
     
     checking for inttypes.h... yes
     
     checking for stdint.h... yes
     
     checking for unistd.h... yes
     
     checking netdb.h usability... yes
     
     checking netdb.h presence... yes
     
     checking for netdb.h... yes
     
     checking for unistd.h... (cached) yes
     
     checking for gethostname... yes
     
     checking for getdomainname... yes
     
     checking for getservbyport... yes
     
     checking for getservbyname... yes
     
     checking for zlib.h... found in /usr
     
     checking for zlib version >= 1.2.0.4... 1.2.11
     
     checking for curl/curl.h... not found
     
     configure: error: could not find curl/curl.h
     
     ERROR: `/tmp/pear/temp/pecl_http/configure --with-php-config=/usr/bin/php-config --with-http-curl-requests --with-http-zlib-compression --with-http-magic-mime=no --with-http-shared-deps' failed


  • נסה את אשר הובא בstack

    sudo apt-get install libcurl3-dev
    

    אח"כ תנסה להתקין שוב את הpecl_http


  • תכנות

    אין שינוי



  • @chagold תנסה להתקין את זה
    libcurl4-gnutls-dev


  • תכנות

    לא משתנה.


  • תכנות

    אבל נראה לי שעם Curl זה עובד אז נחכה עם זה כרגע.
    תודה רבה.


  • תכנות

    קיבלתי עם זה תשובה Forbidden

    אז בסוף העתקתי את הקוד מכאן וזה עובד טוב.
    תודה.


התחבר כדי לפרסם תגובה
 

11
מחובר

1.4k
משתמשים

5.0k
נושאים

55.2k
פוסטים

סלולר כשר במחירים הנמוכים ביותר עם ובלי ניוד.

כנסו לאתר לקניה מקוונת, או בדקו סניף קרוב לביתכם.

מוצרים עם הנחה

לחצו פה כדי להגיע לרשימת מוצרים עם הנחה בקיאספי.

בהגעה דרך הלינק, ישנה הנחה בשלב התשלום בקופה!

בא תתחבר לדף היומי!