(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_csr_export — Exports a CSR as a string
$csr, string &$output, bool $no_text = true): bool
   openssl_csr_export() takes the Certificate Signing
   Request represented by csr and stores it in 
   PEM format in output, which is passed by
   reference.
  
csrSee CSR parameters for a list of valid values.
outputon success, this string will contain the PEM encoded CSR
no_text
 The optional parameter notext affects
 the verbosity of the output; if it is false, then additional human-readable
 information is included in the output. The default value of
 notext is true.
   Returns true on success or false on failure.
  
| Version | Description | 
|---|---|
| 8.0.0 | csraccepts an OpenSSLCertificateSigningRequest instance now;
       previously, a resource of typeOpenSSL X.509 CSRwas accepted. | 
Example #1 openssl_csr_export() example
<?php
$subject = array(
    "commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
    'digest_alg' => 'sha256WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $private_key, $configargs);
openssl_csr_export($csr, $csr_string);
echo $csr_string;
?>