Fix database connection prefix as array causes offset errors
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3258596. --> Reported by: [jcandan](https://www.drupal.org/user/1831444) Related to !4 >>> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>This line in <code>drd_agent/src/Agent/Remote/Requirements.php</code> is returning warning and notice errors. </p> <pre>$info['prefix'] = $info['prefix']['default'];</pre><p>The error shows up in the dashboard site&rsquo;s domain detail page, and in the agent site&rsquo;s watchdog with a location of <code>/drd-agent</code>.</p> <h4 id="summary-steps-reproduce">Steps to reproduce</h4> <p>You can quickly reproduce this error via PHP REPL:</p> <pre>$ drush php<br>&gt;&gt;&gt; $info = \Drupal\Core\Database\Database::getConnection()-&gt;getConnectionOptions();<br>&gt;&gt;&gt; $info += [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'driver' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'namespace' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'host' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'port' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'database' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'username' =&gt; '',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'password' =&gt; '',<br>&nbsp;&nbsp;&nbsp; ];<br>&gt;&gt;&gt; $info['prefix'] = $info['prefix']['default'];<br>&lt;warning&gt;PHP Warning:&nbsp; Illegal string offset 'default' in Psy Shell code on line 1&lt;/warning&gt;<br>&lt;warning&gt;PHP Notice:&nbsp; Uninitialized string offset: 0 in Psy Shell code on line 1&lt;/warning&gt;</pre><h3 id="summary-proposed-resolution">Proposed resolution</h3> <p>Remove this line, and add a <code>prefix</code> to the blank elements appended array:</p> <div class="codeblock"> <pre><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br>&nbsp;&nbsp;&nbsp; $info </span><span style="color: #007700">+= [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'driver' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'prefix' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'namespace' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'host' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'database' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'username' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">''</span><span style="color: #007700">,<br>&nbsp;&nbsp;&nbsp; ];<br></span><span style="color: #0000BB">?&gt;</span></span></pre></div>
issue