Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6686707
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T05:12:10+00:00 2026-05-26T05:12:10+00:00

I downloaded an API that uses this php function http_build_url(). Everytime I run my

  • 0

I downloaded an API that uses this php function http_build_url().
Everytime I run my application it says:

Fatal error: Call to undefined function http_build_url()

I made a research and found out that I should install pecl_http to run that function.
Now, I installed it into my system, by the way, I used Windows XP. I install this one via CMD by goint to my xampp/php folder and running this command:

pecl install pecl_http

Unfortunately, I can’t install this one because it says:

ERROR: The DSP pecl_http.dsp does not exist.

Is there a work around for this one? or any idea that I would make the http_build_url() run.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T05:12:11+00:00Added an answer on May 26, 2026 at 5:12 am

    There is a work around. If you dont want or just cannot use PECL, then there is a method, mentioned on the php.net comments, which is a alternative method:

    if (!function_exists('http_build_url'))
    {
        define('HTTP_URL_REPLACE', 1);              // Replace every part of the first URL when there's one of the second URL
        define('HTTP_URL_JOIN_PATH', 2);            // Join relative paths
        define('HTTP_URL_JOIN_QUERY', 4);           // Join query strings
        define('HTTP_URL_STRIP_USER', 8);           // Strip any user authentication information
        define('HTTP_URL_STRIP_PASS', 16);          // Strip any password authentication information
        define('HTTP_URL_STRIP_AUTH', 32);          // Strip any authentication information
        define('HTTP_URL_STRIP_PORT', 64);          // Strip explicit port numbers
        define('HTTP_URL_STRIP_PATH', 128);         // Strip complete path
        define('HTTP_URL_STRIP_QUERY', 256);        // Strip query string
        define('HTTP_URL_STRIP_FRAGMENT', 512);     // Strip any fragments (#identifier)
        define('HTTP_URL_STRIP_ALL', 1024);         // Strip anything but scheme and host
    
        // Build an URL
        // The parts of the second URL will be merged into the first according to the flags argument. 
        // 
        // @param   mixed           (Part(s) of) an URL in form of a string or associative array like parse_url() returns
        // @param   mixed           Same as the first argument
        // @param   int             A bitmask of binary or'ed HTTP_URL constants (Optional)HTTP_URL_REPLACE is the default
        // @param   array           If set, it will be filled with the parts of the composed url like parse_url() would return 
        function http_build_url($url, $parts=array(), $flags=HTTP_URL_REPLACE, &$new_url=false)
        {
            $keys = array('user','pass','port','path','query','fragment');
    
            // HTTP_URL_STRIP_ALL becomes all the HTTP_URL_STRIP_Xs
            if ($flags & HTTP_URL_STRIP_ALL)
            {
                $flags |= HTTP_URL_STRIP_USER;
                $flags |= HTTP_URL_STRIP_PASS;
                $flags |= HTTP_URL_STRIP_PORT;
                $flags |= HTTP_URL_STRIP_PATH;
                $flags |= HTTP_URL_STRIP_QUERY;
                $flags |= HTTP_URL_STRIP_FRAGMENT;
            }
            // HTTP_URL_STRIP_AUTH becomes HTTP_URL_STRIP_USER and HTTP_URL_STRIP_PASS
            else if ($flags & HTTP_URL_STRIP_AUTH)
            {
                $flags |= HTTP_URL_STRIP_USER;
                $flags |= HTTP_URL_STRIP_PASS;
            }
    
            // Parse the original URL
            // - Suggestion by Sayed Ahad Abbas
            //   In case you send a parse_url array as input
            $parse_url = !is_array($url) ? parse_url($url) : $url;
    
            // Scheme and Host are always replaced
            if (isset($parts['scheme']))
                $parse_url['scheme'] = $parts['scheme'];
            if (isset($parts['host']))
                $parse_url['host'] = $parts['host'];
    
            // (If applicable) Replace the original URL with it's new parts
            if ($flags & HTTP_URL_REPLACE)
            {
                foreach ($keys as $key)
                {
                    if (isset($parts[$key]))
                        $parse_url[$key] = $parts[$key];
                }
            }
            else
            {
                // Join the original URL path with the new path
                if (isset($parts['path']) && ($flags & HTTP_URL_JOIN_PATH))
                {
                    if (isset($parse_url['path']))
                        $parse_url['path'] = rtrim(str_replace(basename($parse_url['path']), '', $parse_url['path']), '/') . '/' . ltrim($parts['path'], '/');
                    else
                        $parse_url['path'] = $parts['path'];
                }
    
                // Join the original query string with the new query string
                if (isset($parts['query']) && ($flags & HTTP_URL_JOIN_QUERY))
                {
                    if (isset($parse_url['query']))
                        $parse_url['query'] .= '&' . $parts['query'];
                    else
                        $parse_url['query'] = $parts['query'];
                }
            }
    
            // Strips all the applicable sections of the URL
            // Note: Scheme and Host are never stripped
            foreach ($keys as $key)
            {
                if ($flags & (int)constant('HTTP_URL_STRIP_' . strtoupper($key)))
                    unset($parse_url[$key]);
            }
    
    
            $new_url = $parse_url;
    
            return 
                 ((isset($parse_url['scheme'])) ? $parse_url['scheme'] . '://' : '')
                .((isset($parse_url['user'])) ? $parse_url['user'] . ((isset($parse_url['pass'])) ? ':' . $parse_url['pass'] : '') .'@' : '')
                .((isset($parse_url['host'])) ? $parse_url['host'] : '')
                .((isset($parse_url['port'])) ? ':' . $parse_url['port'] : '')
                .((isset($parse_url['path'])) ? $parse_url['path'] : '')
                .((isset($parse_url['query'])) ? '?' . $parse_url['query'] : '')
                .((isset($parse_url['fragment'])) ? '#' . $parse_url['fragment'] : '')
            ;
        }
    }
    

    It was mentioned here: http://www.php.net/manual/de/function.http-build-url.php#96335

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a C application that uses LibCurl (LibCurl is a C API that
I have an open-source iPhone API that I downloaded, and that is a standalone
I am currently developing an android application uses Google map API. I am wondering
we have an APP, that uses many local resources, such as windows printing API,
I have a python application that relies on a file that is downloaded by
I want to develop a program that uses an online API, with GET and
I made test application in Delphi that beeps morse code using Windows API Beep
I am using the api twitterizer2 downloaded from http://code.google.com/p/twitterizer/downloads/list but when I try to
I am going to offer a web API service that allows users to download
I just downloaded the Bing API 2.0 SDK. There are several html files in

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.