<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xampp &#8211; Learn PHP online</title>
	<atom:link href="https://www.learnphponline.in/category/web-development/php/xampp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.learnphponline.in</link>
	<description>The Best Free Tutorials of Programming Languages in 2019</description>
	<lastBuildDate>Thu, 09 Sep 2021 06:33:39 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.3</generator>
	<item>
		<title>DocuSign Embedded signing in Core PHP, CodeIgniter 4, Laravel 8</title>
		<link>https://www.learnphponline.in/docusign-embedded-signing-in-core-php-codeigniter-4-laravel-8/</link>
					<comments>https://www.learnphponline.in/docusign-embedded-signing-in-core-php-codeigniter-4-laravel-8/#respond</comments>
		
		<dc:creator><![CDATA[Learn PHP online]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 07:26:18 +0000</pubDate>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[xampp]]></category>
		<category><![CDATA[DocuSign API]]></category>
		<category><![CDATA[DocuSIgn ESign]]></category>
		<category><![CDATA[Embedded Signing]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://www.learnphponline.in/?p=12062</guid>

					<description><![CDATA[<p>DocuSign Embedded Signing in Core PHP, CodeIgniter 4 or Laravel 8: I will show you step by step guide to help you in quick start. Here, I mentioned every detail that you need to handle bugs errors and many more things. Today we will see how we can do an embedded signing...</p>
<p>The post <a rel="nofollow" href="https://www.learnphponline.in/docusign-embedded-signing-in-core-php-codeigniter-4-laravel-8/">DocuSign Embedded signing in Core PHP, CodeIgniter 4, Laravel 8</a> appeared first on <a rel="nofollow" href="https://www.learnphponline.in">Learn PHP online</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>DocuSign Embedded Signing in Core PHP, CodeIgniter 4 or Laravel 8:</strong> I will show you step by step guide to help you in quick start. Here, I mentioned every detail that you need to handle bugs errors and many more things.</p>
<p>Today we will see how we can do an embedded signing with <b>DocuSign in Core PHP or any Other</b>. If you are reading my blog which means you also want to integrate DocuSign with your Application. Please follow the below instruction to integrate <b>DocuSign in one shot</b>.</p>
<h2 id="step-1">Step: 1 Create a developer account on DocuSign</h2>
<p>I Know, You that stuff very well and you already your <a href="https://developers.docusign.com/">DocuSign developer account</a>. But dude let me clear few things for you that will help you to understand the DocuSign API and structure.</p>
<p><img fetchpriority="high" decoding="async" class=" wp-image-12065 aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-Api-Credentials.png" alt="docusign Api Credentials" width="877" height="401" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-Api-Credentials.png 1366w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-Api-Credentials-300x137.png 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-Api-Credentials-1024x469.png 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-Api-Credentials-768x351.png 768w" sizes="(max-width: 877px) 100vw, 877px" /></p>
<p>Credits: <a href="https://blog.codehunger.in">codeHunger</a></p>
<p>Here, You need to create APP Like DemoApp for your project. <strong>Account id</strong>, <strong>Integration key ( Client_id / ds_client_id), Secret Key and Refer Url. </strong>These 3 things are very necessary.</p>
<p><strong>Suggestion:</strong> I personally Suggest you to create ds_config.php file with all configuration constant to handle the whole API.</p>
<p><img decoding="async" class="wp-image-12067 aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/09/ds_config-file-for-DocuSign.jpg" alt="ds_config file for DocuSign" width="864" height="559" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/ds_config-file-for-DocuSign.jpg 1300w, https://www.learnphponline.in/wp-content/uploads/2021/09/ds_config-file-for-DocuSign-300x194.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/ds_config-file-for-DocuSign-1024x662.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/ds_config-file-for-DocuSign-768x497.jpg 768w" sizes="(max-width: 864px) 100vw, 864px" /></p>
<p><img decoding="async" class=" wp-image-12066 aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/09/DocuSign-App-Details.png" alt="DocuSign App Details" width="895" height="409" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/DocuSign-App-Details.png 1366w, https://www.learnphponline.in/wp-content/uploads/2021/09/DocuSign-App-Details-300x137.png 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/DocuSign-App-Details-1024x469.png 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/DocuSign-App-Details-768x351.png 768w" sizes="(max-width: 895px) 100vw, 895px" /></p>
<h2 id="step-2">Step: 2 Create an DocuSign Folder on Xampp.</h2>
<p>create a folder in your Xampp or Server. here, I also suggest, test on xampp and than use composer. if you don&#8217;t know about don&#8217;t worry just follow my steps.</p>
<p>First install composer from <a href="https://getcomposer.org/download/">https://getcomposer.org/download/</a>. than you need to install DocuSign Library using Command.</p>
<p>after installing composer, open your in the right folder for docusign.</p>
<h2 id="block-ec7816de-99b5-40c7-8ecb-45c927175168">Step: 3 Install DocuSign Package</h2>
<pre><span style="color: #ff0000;">Composer require docusign/esign-client</span></pre>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12068" src="https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-API-Directory-or-folder.jpg" alt="docusign API Directory or folder" width="1381" height="365" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-API-Directory-or-folder.jpg 1381w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-API-Directory-or-folder-300x79.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-API-Directory-or-folder-1024x271.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/docusign-API-Directory-or-folder-768x203.jpg 768w" sizes="(max-width: 1381px) 100vw, 1381px" /><br />
After this Command, you have <strong>vendor folder</strong> which contain packages,<strong> src folder</strong> which contain our Base Class which handle all API, and <strong>doc folder</strong> contain PDF file which need to signature. and <strong>index.php</strong> file is base file which can be Laravel routes, CodeIgniter routes or controller,  or any file which handle routes. and ds_config.php as i already told you above.</p>
<p><strong>suggestion:</strong> you can use .env in replacement of ds_config if you are using Laravel or any other framework.</p>
<p>&nbsp;</p>
<h2 id="block-ec7816de-99b5-40c7-8ecb-45c927175168">Step: 4 Collect all code and Files as Given below</h2>
<p><strong>index.php file code:</strong></p>
<div>
<pre>&lt;?php 

require_once dirname(__FILE__). '/ds_config.php';
require_once dirname(__FILE__). '/src/DocuSignController.php';

$docuSign = new DocuSignController();

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

$authData = @$_SESSION['authData'];
if(@$_GET['page']=='connect'){
   $docuSign-&gt;connect(); 
}elseif(@$_GET['page']=='sign'){

   $docuSign-&gt;signDocument();
}
else{
  if(@$_GET['code'] &amp;&amp; ( !array_key_exists('authData',$_SESSION) || property_exists($authData,'error') )){
        $docuSign-&gt;callback();
  }
  //session_destroy();
  $docuSign-&gt;index();
}
?&gt;</pre>
</div>
<p><strong>Src folder code and structure:</strong></p>
<p><img loading="lazy" decoding="async" class=" wp-image-12069 aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files.jpg" alt="" width="844" height="443" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files.jpg 1769w, https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files-300x157.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files-1024x537.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files-768x403.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/09/src-folder-files-1536x806.jpg 1536w" sizes="(max-width: 844px) 100vw, 844px" /></p>
<p>Here in src folder, we have 2 files one is index.php ( view ) and another DocuSignController.php Class which contain all API. In CodeIgniter you can use it as custom library, in Laravel you can use it as Controller or Service.</p>
<p><strong>So, Here Index.php ( view ) code:</strong></p>
<div>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;title&gt;Docusign Integration Example&lt;/title&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
  &lt;link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"&gt;
  &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div class="container"&gt;
   &lt;div class="card"&gt;
    &lt;div class="card-header"&gt;
        PHP and DocuSIgn
      &lt;/div&gt;
      &lt;div class="card-body"&gt;
        &lt;h5 class="card-title"&gt;Docusign &lt;/h5&gt;
        &lt;p class="card-text"&gt;Click the button below to connect your appication with docusign&lt;/p&gt;
        &lt;?php
        if (@$_SESSION['message'] =='success'){
        ?&gt;
          &lt;a href="index.php?page=sign" class="btn btn-primary"&gt;Click to sign document&lt;/a&gt;
        &lt;?php
        }
        else{ 
        ?&gt;
          &lt;a href="index.php?page=connect" class="btn btn-primary"&gt;Connect Docusign&lt;/a&gt;
        &lt;?php
         }
        ?&gt;
  &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>DocuSignController.php class code:</strong></p>
<div>
<pre>&lt;?php
require_once dirname(__DIR__). '/vendor/autoload.php';
use DocuSign\eSign\Configuration;
use DocuSign\eSign\Api\EnvelopesApi;
use DocuSign\eSign\Client\ApiClient;

class DocuSignController {        
    /** hold config value */
    private $config;
    private $signer_client_id = 1000; # Used to indicate that the signer will use embedded
    /** Specific template arguments */
    private $args;

    public function index(){
      require_once dirname(__FILE__).'/views/index.php';    
    }

    
    /**
     * Connect your application to docusign
     *
     * @return url
     */
    public function connect()
    {
        try {
            $params = [
                'response_type' =&gt; 'code',
                'scope' =&gt; 'signature',
                'client_id' =&gt; $GLOBALS['DS_CONFIG']['ds_client_id'],
                'redirect_uri' =&gt;$GLOBALS['DS_CONFIG']['app_url'],
            ];
            $queryBuild = http_build_query($params);
            $url = "https://account-d.docusign.com/oauth/auth?";
            $botUrl = $url . $queryBuild;
            header('Location:'.$botUrl);
           
        } catch (Exception $e) {
            $_SESSION['message'] = 'error';
            return false;
        }
    }
    public function callback()
    {
        $code = $_GET['code'];
        $client_id =  $GLOBALS['DS_CONFIG']['ds_client_id'];
        $client_secret =  $GLOBALS['DS_CONFIG']['ds_client_secret'];
        $integrator_and_secret_key = "Basic " . utf8_decode(base64_encode("{$client_id}:{$client_secret}"));
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,  $GLOBALS['DS_CONFIG']['authorization_server'].'/oauth/token');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        $post = array(
            'grant_type' =&gt; 'authorization_code',
            'code' =&gt; $code,
        );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        $headers = array();
        $headers[] = 'Cache-Control: no-cache';
        $headers[] = "authorization: $integrator_and_secret_key";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $result = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
        }

        curl_close($ch);
        $decodedData = json_decode($result);
        $_SESSION['authData'] = $decodedData;
        $_SESSION['message'] = 'success';
        return true;
    }
    
    public function signDocument()
    {       
      try{
        $this-&gt;args = $this-&gt;getTemplateArgs();
        $args = $this-&gt;args;
        $envelope_args = $args["envelope_args"];
        
        # Create the envelope request object
        $envelope_definition = $this-&gt;make_envelope($args["envelope_args"]);
        $envelope_api = $this-&gt;getEnvelopeApi();
      
        # Call Envelopes::create API method
        # Exceptions will be caught by the calling function
        
        $api_client = new \DocuSign\eSign\client\ApiClient($this-&gt;config);
        $envelope_api = new \DocuSign\eSign\Api\EnvelopesApi($api_client);
        
        $results = $envelope_api-&gt;createEnvelope($args['account_id'], $envelope_definition);
       
        $envelope_id = $results-&gt;getEnvelopeId();        
        $authentication_method = 'None'; # How is this application authenticating
        # the signer? See the `authenticationMethod' definition
        # https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeViews/createRecipient
        
        $recipient_view_request = new \DocuSign\eSign\Model\RecipientViewRequest([
            'authentication_method' =&gt; $authentication_method,
            'client_user_id' =&gt; $envelope_args['signer_client_id'],
            'recipient_id' =&gt; '1',
            'return_url' =&gt; $envelope_args['ds_return_url'],
            'user_name' =&gt; 'SuryaPratap', 'email' =&gt; 'soroutlove1996@gmail.com'
        ]);
        $results = $envelope_api-&gt;createRecipientView($args['account_id'], $envelope_id,$recipient_view_request);
        return header('Location:'.$results['url']);
        } catch (Exception $e) {
            echo "&lt;pre&gt;";
            print_r($e);
        }
        
    }

    private function make_envelope($args)
    {   
        
        $filename = 'World_Wide_Corp_lorem.pdf';
        $demo_docs_path = dirname(__DIR__)."/doc/".$filename;
        $arrContextOptions=array(
            "ssl"=&gt;array(
                "verify_peer"=&gt;false,
                "verify_peer_name"=&gt;false,
            ),
        );  
        $content_bytes = file_get_contents($demo_docs_path,false, stream_context_create($arrContextOptions));
        // dd($content_bytes);
        $base64_file_content = base64_encode($content_bytes);
        // dd($base64_file_content);
        # Create the document model
        $document = new \DocuSign\eSign\Model\Document([# create the DocuSign document object
        'document_base64' =&gt; $base64_file_content,
            'name' =&gt; 'Example document', # can be different from actual file name
            'file_extension' =&gt; 'pdf', # many different document types are accepted
            'document_id' =&gt; 1, # a label used to reference the doc
        ]);
        # Create the signer recipient model
        $signer = new \DocuSign\eSign\Model\Signer([# The signer
        'email' =&gt; 'soroutlove1996@gmail.com', 'name' =&gt; 'SuryaPratap',
            'recipient_id' =&gt; "1", 'routing_order' =&gt; "1",
            # Setting the client_user_id marks the signer as embedded
            'client_user_id' =&gt; $args['signer_client_id'],
        ]);
        # Create a sign_here tab (field on the document)
        $sign_here = new \DocuSign\eSign\Model\SignHere([# DocuSign SignHere field/tab
        'anchor_string' =&gt; '/sn1/', 'anchor_units' =&gt; 'pixels',
            'anchor_y_offset' =&gt; '10', 'anchor_x_offset' =&gt; '20',
        ]);
        # Add the tabs model (including the sign_here tab) to the signer
        # The Tabs object wants arrays of the different field/tab types
        $signer-&gt;settabs(new \DocuSign\eSign\Model\Tabs(['sign_here_tabs' =&gt; [$sign_here]]));
        # Next, create the top level envelope definition and populate it.
        $envelope_definition = new \DocuSign\eSign\Model\EnvelopeDefinition([
            'email_subject' =&gt; "Please sign this Broker Agreement document - MortgageStreet",
            'documents' =&gt; [$document],
            # The Recipients object wants arrays for each recipient type
            'recipients' =&gt; new \DocuSign\eSign\Model\Recipients(['signers' =&gt; [$signer]]),
            'status' =&gt; "sent", # requests that the envelope be created and sent.
        ]);

        return $envelope_definition;
    }

    /**
     * Getter for the EnvelopesApi
     */
    public function getEnvelopeApi(): EnvelopesApi
    {   
        $this-&gt;config = new Configuration();
        $this-&gt;config-&gt;setHost($this-&gt;args['base_path']);
        $this-&gt;config-&gt;addDefaultHeader('Authorization', 'Bearer ' . $this-&gt;args['ds_access_token']);    
        $this-&gt;apiClient = new ApiClient($this-&gt;config);
        return new EnvelopesApi($this-&gt;apiClient);
    }
    /**
     * Get specific template arguments
     *
     * @return array
     */
    private function getTemplateArgs()
    {   
        $envelope_args = [
            'signer_client_id' =&gt; $this-&gt;signer_client_id,
            'ds_return_url' =&gt; $GLOBALS['DS_CONFIG']['app_url']."?status=success",
        ];

        $args = [
            'account_id' =&gt;  $GLOBALS['DS_CONFIG']['account_id'],
            'base_path' =&gt; $GLOBALS['DS_CONFIG']['api_url'],
            'ds_access_token' =&gt; $_SESSION['authData']-&gt;access_token,
            'envelope_args' =&gt; $envelope_args
        ];
        return $args;
      }

} // end of class

</pre>
<p><strong>Note: You must have to add callback URL in your docusign , to get your  application get authenticated</strong>.</p>
<p>See the below image.</p>
<p><img loading="lazy" decoding="async" class="wp-image-12070 aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/09/image-6.png" alt="" width="816" height="373" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/image-6.png 1366w, https://www.learnphponline.in/wp-content/uploads/2021/09/image-6-300x137.png 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/image-6-1024x469.png 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/image-6-768x351.png 768w" sizes="(max-width: 816px) 100vw, 816px" /></p>
</div>
<h2 id="#step-9">Step-9 Test the integration</h2>
</div>
<p>&nbsp;</p>
<div>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-12075" src="https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign.jpg" alt="DocuSign Embedded Signing in PHP" width="833" height="200" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign.jpg 1912w, https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign-300x72.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign-1024x246.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign-768x185.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/09/start-connecting-to-DocuSign-1536x370.jpg 1536w" sizes="(max-width: 833px) 100vw, 833px" />Click on connect DocuSign, you will redirect to DocuSign’s official website where they told you to enter your DocuSign email and password, after giving your credentials you will come back to your application with the below image.</p>
</div>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-12076" src="https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect.jpg" alt="DocuSign Embedded Signing" width="799" height="191" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect.jpg 1913w, https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect-300x72.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect-1024x246.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect-768x184.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/09/after-connect-1536x369.jpg 1536w" sizes="(max-width: 799px) 100vw, 799px" /></p>
<p>After connect, if everything is correct than you will get code variable in url. and than click on sign document. after this you need to authorized DocuSign with admin account details.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-12072" src="https://www.learnphponline.in/wp-content/uploads/2021/09/Capture.jpg" alt="DocuSign Embedded Signing" width="736" height="327" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/Capture.jpg 1912w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture-300x133.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture-1024x455.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture-768x341.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture-1536x683.jpg 1536w" sizes="(max-width: 736px) 100vw, 736px" /></p>
<figure id="attachment_12074" aria-describedby="caption-attachment-12074" style="width: 820px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-12074" src="https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3.jpg" alt="DocuSign Embedded Signing" width="820" height="416" srcset="https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3.jpg 1920w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3-300x152.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3-1024x519.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3-768x390.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/09/Capture3-1536x779.jpg 1536w" sizes="(max-width: 820px) 100vw, 820px" /><figcaption id="caption-attachment-12074" class="wp-caption-text">DocuSign Embedded Signing</figcaption></figure>
<p>&nbsp;</p>
<p>I hope, this blog helps you to install docuSign. at time i was so confused with docuSign documentation and git code examples. but now you have everything.</p>
<p>&nbsp;</p>
<h2>You can also download DocuSign API code from my Github</h2>

<div class="otfe-fe-form-wrapper">

	<div class="otfe-fe-message-wrapper otfe-fe-message-wrapper-3"></div>

	<form method="post" action="" class="otfd-fe-form" id="otfd-fe-form-3">
				<div class="otfd-fe-form-row">
			<label>Your email address</label>
			<input type="email" name="email" class="otfd-fe-email otfd-fe-input" value="" placeholder="Your email address" />
		</div>
		
							
		<div class="otfd-fe-form-row otfd-fe-form-errors otfd-hidden">
			<p>
				Please fix the errors above and try to submit again			</p>
		</div>
		<input type="hidden" id="otfd_fe_nonce_3" name="otfd_fe_nonce_3" value="c1f8aeaa48" /><input type="hidden" name="_wp_http_referer" value="/category/web-development/php/xampp/feed/" />		<input type="hidden" name="otfd_fe_action" class="otfd_fe_action" value="email_link" />
		<div class="otfd-fe-form-row">
			<a href="#" class="otfd-fe-form-submit" data-otfdid="3">Download</a>
		</div>
	</form>

</div>

<div class="pvc_clear"></div>
<p id="pvc_stats_12062" class="pvc_stats all  " data-element-id="12062" style=""><i class="pvc-stats-icon medium" aria-hidden="true"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="chart-bar" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-chart-bar fa-w-16 fa-2x"><path fill="currentColor" d="M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z" class=""></path></svg></i> <img loading="lazy" decoding="async" width="16" height="16" alt="Loading" src="https://www.learnphponline.in/wp-content/plugins/page-views-count/ajax-loader-2x.gif" border=0 /></p>
<div class="pvc_clear"></div>
<p>The post <a rel="nofollow" href="https://www.learnphponline.in/docusign-embedded-signing-in-core-php-codeigniter-4-laravel-8/">DocuSign Embedded signing in Core PHP, CodeIgniter 4, Laravel 8</a> appeared first on <a rel="nofollow" href="https://www.learnphponline.in">Learn PHP online</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.learnphponline.in/docusign-embedded-signing-in-core-php-codeigniter-4-laravel-8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Upgrade PHP Version 7 to 8 in Xampp (PHP 8 Latest Version)</title>
		<link>https://www.learnphponline.in/how-to-upgrade-php-version-7-to-8-in-xampp-php-8-latest-version/</link>
					<comments>https://www.learnphponline.in/how-to-upgrade-php-version-7-to-8-in-xampp-php-8-latest-version/#respond</comments>
		
		<dc:creator><![CDATA[Learn PHP online]]></dc:creator>
		<pubDate>Tue, 02 Mar 2021 13:28:35 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[xampp]]></category>
		<category><![CDATA[Upgrade PHP latest Version in xampp windows]]></category>
		<category><![CDATA[Upgrade PHP version 7 to 8]]></category>
		<category><![CDATA[Upgrade PHP Version in xampp]]></category>
		<guid isPermaLink="false">https://www.learnphponline.in/?p=11985</guid>

					<description><![CDATA[<p>Upgrade PHP Version 7 to 8 in Xampp: Here we have the latest version in PHP with many updates and improvements. Many web developers, especially beginners, have a common question “How to update PHP version in XAMPP?”. After getting a lot of queries on the topic, we decided to write a short...</p>
<p>The post <a rel="nofollow" href="https://www.learnphponline.in/how-to-upgrade-php-version-7-to-8-in-xampp-php-8-latest-version/">How to Upgrade PHP Version 7 to 8 in Xampp (PHP 8 Latest Version)</a> appeared first on <a rel="nofollow" href="https://www.learnphponline.in">Learn PHP online</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Upgrade PHP Version 7 to 8 in Xampp:</strong> Here we have the latest version in PHP with many updates and improvements. Many web developers, especially beginners, have a common question “How to update PHP version in XAMPP?”. After getting a lot of queries on the topic, we decided to write a short and simple tutorial on how you can easily update the PHP versions in Windows XAMPP.</p>
<p>It is not very complex but sometimes very essential when we need the latest version of PHP for a new project without changing the current local server settings. So, I am trying to cover changing the version by keeping the old version manually.</p>
<h2>Latest Version of PHP in 2021</h2>
<p>Now we have the PHP 8.0.2 version and more latest versions will be on the way. And PHP 8 has many features as given below.</p>
<ul>
<li>PHP 8.0 is a major update of the PHP language.</li>
<li>It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, null safe operator, JIT.</li>
<li>PHP 8 has improvements in the type system, error handling, and consistency.</li>
<li>PHP 8.0 improves speed and compiling.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11986" title="Upgrade PHP Version in xampp" src="https://www.learnphponline.in/wp-content/uploads/2021/03/php-8.jpg" alt="Upgrade PHP Version in xampp" width="698" height="316" srcset="https://www.learnphponline.in/wp-content/uploads/2021/03/php-8.jpg 1768w, https://www.learnphponline.in/wp-content/uploads/2021/03/php-8-300x136.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/03/php-8-1024x463.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/03/php-8-768x348.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/03/php-8-1536x695.jpg 1536w" sizes="(max-width: 698px) 100vw, 698px" /></p>
<p>&nbsp;</p>
<h2>Now, I am going to tell you How to Upgrade PHP Version 7 to 8 in Xampp</h2>
<p><strong>Step1:</strong> Download PHP 8.0.2 Version from its official website. <a href="https://windows.php.net/download/">click to download PHP 8.0.2. </a> You need to download <strong>Thread safe version</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11987" title="Upgrade PHP Version in xampp" src="https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2.jpg" alt="Upgrade PHP Version in xampp" width="796" height="372" srcset="https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2.jpg 1874w, https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2-300x140.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2-1024x478.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2-768x359.jpg 768w, https://www.learnphponline.in/wp-content/uploads/2021/03/Download-PHP-8.0.2-1536x717.jpg 1536w" sizes="(max-width: 796px) 100vw, 796px" /></p>
<p>after download the PHP latest version. you need to create a new folder named &#8220;php&#8221; and extract the downloaded zip inside the PHP folder you recently created.</p>
<p>&nbsp;</p>
<p><strong class="ii jn">Step 2:</strong> Go to your XAMPP installation directory ( C:\xampp\php ) and rename your old PHP directory with an old version prefix like PHP to <strong>PHP_old or PHP_7_4</strong>. Now copy &amp; paste the extracted new PHP folder here. You can see this in the given image below. I have changed my <strong>PHP folder name to php7.2</strong>. and the PHP folder is the latest version.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Step 3:</strong> After the rename of the old php folder to php7.2 or something else. Now you need to move the new <strong>&#8220;php&#8221; </strong>to xampp directory.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11990" title="Upgrade PHP Version 7 to 8 in Xampp" src="https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-directory-1.jpg" alt="Upgrade PHP Version 7 to 8 in Xampp" width="727" height="361" srcset="https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-directory-1.jpg 1131w, https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-directory-1-300x149.jpg 300w, https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-directory-1-1024x508.jpg 1024w, https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-directory-1-768x381.jpg 768w" sizes="(max-width: 727px) 100vw, 727px" /></p>
<p>&nbsp;</p>
<p><strong class="ii jn">Step4:</strong> Next, open <em><strong>httpd-xampp.conf</strong></em> from the XAMPP dashboard configuration panel. as you can see in the given below image.</p>
<figure id="attachment_11989" aria-describedby="caption-attachment-11989" style="width: 720px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-11989 size-full" title="Upgrade PHP Version 7 to 8 in Xampp" src="https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-dashboard-image.jpeg" alt="Upgrade PHP Version 7 to 8 in Xampp" width="720" height="446" srcset="https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-dashboard-image.jpeg 720w, https://www.learnphponline.in/wp-content/uploads/2021/03/xampp-dashboard-image-300x186.jpeg 300w" sizes="(max-width: 720px) 100vw, 720px" /><figcaption id="caption-attachment-11989" class="wp-caption-text">Upgrade PHP Version 7 to 8 in Xampp</figcaption></figure>
<p>&nbsp;</p>
<p id="53c9" class="ig ih fe ii b ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd ew cm" data-selectable-paragraph="">On the <strong>PHP-Module setup section</strong>, comment these two lines and add the two lines below</p>
<blockquote class="ju jv jw">
<p id="ba69" class="ig ih jx ii b ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd ew cm" data-selectable-paragraph="">#<br />
# PHP-Module setup<br />
#<br />
LoadFile &#8220;/xampp/php/php8ts.dll&#8221;<br />
LoadFile &#8220;/xampp/php/libpq.dll&#8221;<br />
LoadModule php_module &#8220;/xampp/php/php8apache2_4.dll&#8221;<br />
LoadFile &#8220;C:/xampp/php/libsqlite3.dll&#8221;</p>
</blockquote>
<p data-selectable-paragraph=""><img loading="lazy" decoding="async" class="wp-image-11995 size-full aligncenter" src="https://www.learnphponline.in/wp-content/uploads/2021/03/e.png" alt="" width="459" height="486" srcset="https://www.learnphponline.in/wp-content/uploads/2021/03/e.png 459w, https://www.learnphponline.in/wp-content/uploads/2021/03/e-283x300.png 283w" sizes="(max-width: 459px) 100vw, 459px" /></p>
<p id="44e7" class="ig ih fe ii b ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd ew cm" data-selectable-paragraph="">That’s it. Now restart your XAMPP server and keep coding. Now you can check your php version via using the <em>php_info()</em> function or you can also use the command: <em>php -v</em></p>
<h3>Summary for Upgrade PHP Version 7 to 8 in Xampp</h3>
<p>May in some cases you will face an error or issue. so, I recommend you restart your system once and check it again. if the error is still there or Xampp apache is not running so, you have 2 scenarios.</p>
<ol>
<li>Your PHP new version does not download or extracted correctly. or you have downloaded the wrong zip file.</li>
<li>you did a mistake in the editing of <em><strong>httpd-xampp.conf </strong></em>file.</li>
</ol>
<p>Also, Read <a href="https://www.learnphponline.in/top-10-programming-languages/">Top Programming Languages</a> and the <a href="https://www.learnphponline.in/make-money-without-investment-in-india/">Best way to earn online</a>.</p>
<p>&nbsp;</p>
<div class="pvc_clear"></div>
<p id="pvc_stats_11985" class="pvc_stats all  " data-element-id="11985" style=""><i class="pvc-stats-icon medium" aria-hidden="true"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="chart-bar" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-chart-bar fa-w-16 fa-2x"><path fill="currentColor" d="M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z" class=""></path></svg></i> <img loading="lazy" decoding="async" width="16" height="16" alt="Loading" src="https://www.learnphponline.in/wp-content/plugins/page-views-count/ajax-loader-2x.gif" border=0 /></p>
<div class="pvc_clear"></div>
<p>The post <a rel="nofollow" href="https://www.learnphponline.in/how-to-upgrade-php-version-7-to-8-in-xampp-php-8-latest-version/">How to Upgrade PHP Version 7 to 8 in Xampp (PHP 8 Latest Version)</a> appeared first on <a rel="nofollow" href="https://www.learnphponline.in">Learn PHP online</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.learnphponline.in/how-to-upgrade-php-version-7-to-8-in-xampp-php-8-latest-version/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
