<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rkcperea</title>
    <description>The latest articles on DEV Community by rkcperea (@rkcperea).</description>
    <link>https://dev.to/rkcperea</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1026044%2Faa079264-de6d-40e7-bc71-7636d3114307.png</url>
      <title>DEV Community: rkcperea</title>
      <link>https://dev.to/rkcperea</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rkcperea"/>
    <language>en</language>
    <item>
      <title>Getting Started with PHP on Ubuntu 24.04</title>
      <dc:creator>rkcperea</dc:creator>
      <pubDate>Wed, 23 Jul 2025 23:35:11 +0000</pubDate>
      <link>https://dev.to/rkcperea/getting-started-with-php-on-ubuntu-2404-43nf</link>
      <guid>https://dev.to/rkcperea/getting-started-with-php-on-ubuntu-2404-43nf</guid>
      <description>&lt;p&gt;I'll document how to install Laravel on Ubuntu 24.04, currently in progress.&lt;/p&gt;

&lt;p&gt;I tried following &lt;a href="https://laravel.com/docs/12.x/installation" rel="noopener noreferrer"&gt;Laravel documentation&lt;/a&gt;, but below didn't work for me:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/bin/bash &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://php.new/install/linux/8.4&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you did, you might need to uninstall first with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~/.config/herd-lite/bin/uninstall-herd-lite
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and remove the path changes in &lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I tried using mise, but there was also an error.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mise use php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;something about Japanese characters and missing gdlib &lt;/p&gt;

&lt;h2&gt;
  
  
  Learning from git
&lt;/h2&gt;

&lt;p&gt;Since we have a #learning tag, this is what I normally do&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;with this, we'll be aware of caveats, issues, trends, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  First, go to &lt;a href="https://github.com/php/php-src" rel="noopener noreferrer"&gt;php-src&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;run the following commands&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--dry-run&lt;/span&gt; pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I usually start with a &lt;code&gt;--dry-run&lt;/code&gt; option, check the size by removing the &lt;code&gt;--dry-run&lt;/code&gt;, finally continue or rerun with a &lt;code&gt;-y&lt;/code&gt; . In my case, I'm only missing &lt;code&gt;bison libxml2-dev re2c&lt;/code&gt; which is less than 10 MB. For brevity, I will proceed with just a -y&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I prefer having the git source code so I can backtrace and learn from changelogs. Check the latest version, in my case &lt;a href="https://github.com/php/php-src/releases/tag/php-8.4.10" rel="noopener noreferrer"&gt;php-8.4.10&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com:php/php-src.git
git checkout php-8.4.10
./buildconf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's nice how PHP instructs the next step&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./buildconf --force
./configure --enable-debug
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;They'll reply with &lt;code&gt;Thank you for using PHP.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make -j$(nproc)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the reply: &lt;br&gt;
&lt;code&gt;Build complete.&lt;br&gt;
Don't forget to run 'make test'.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make -j$(nproc) test 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;You may have found a problem in PHP.&lt;br&gt;
This report can be saved and used to open an issue on the bug tracker at&lt;br&gt;
https://github.com/php/php-src/issues&lt;br&gt;
This gives us a better understanding of PHP's behavior.&lt;br&gt;
Do you want to save this report in a file? [Yn]: Report saved to: /home/rkc/.php/php-src/php_test_results_20250723_2157.txt&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So let's report a bug: &lt;a href="https://github.com/php/php-src/issues/19227" rel="noopener noreferrer"&gt;https://github.com/php/php-src/issues/19227&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It requires a &lt;code&gt;php -v&lt;/code&gt; output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make install
sudo make install
php -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, you'll see&lt;br&gt;
&lt;code&gt;PHP 8.4.10 (cli) (built: Jul 23 2025 14:34:18) (NTS DEBUG)&lt;br&gt;
Copyright (c) The PHP Group&lt;br&gt;
Zend Engine v4.4.10, Copyright (c) Zend Technologies&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I'm a Rails developer who is new to dev.to, and to PHP. Exploring other languages.&lt;/p&gt;

&lt;p&gt;I'll cut it short for now and go back to my rails project. Hopefully, I could edit this tomorrow.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>php</category>
      <category>laravel</category>
    </item>
    <item>
      <title>Getting Started with PHP Laravel on Ubuntu 24.04</title>
      <dc:creator>rkcperea</dc:creator>
      <pubDate>Wed, 23 Jul 2025 23:35:11 +0000</pubDate>
      <link>https://dev.to/rkcperea/getting-started-with-php-on-ubuntu-2404-28aj</link>
      <guid>https://dev.to/rkcperea/getting-started-with-php-on-ubuntu-2404-28aj</guid>
      <description>&lt;p&gt;I'm documenting how to install Laravel on Ubuntu 24.04, currently in progress.&lt;/p&gt;

&lt;p&gt;I tried following &lt;a href="https://laravel.com/docs/12.x/installation" rel="noopener noreferrer"&gt;Laravel documentation&lt;/a&gt;, but below didn't work for me:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/bin/bash &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://php.new/install/linux/8.4&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you did, you might need to uninstall first with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~/.config/herd-lite/bin/uninstall-herd-lite
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and remove the path changes in &lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning from git
&lt;/h2&gt;

&lt;p&gt;Since we have a #learning tag, this is what I normally do&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;with this, we are aware of caveats, open issues, trends, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  First, go to &lt;a href="https://github.com/php/php-src" rel="noopener noreferrer"&gt;php-src&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;run the following commands&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--dry-run&lt;/span&gt; pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I usually start with a &lt;code&gt;--dry-run&lt;/code&gt; option, check the size by removing the &lt;code&gt;--dry-run&lt;/code&gt;, finally continue or rerun with a &lt;code&gt;-y&lt;/code&gt; . In my case, I'm only missing &lt;code&gt;bison libxml2-dev re2c&lt;/code&gt; which is less than 10 MB. For brevity, I will proceed with just a -y&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I prefer having the git source code so I can backtrace and learn from changelogs. Check the latest version, in my case &lt;a href="https://github.com/php/php-src/releases/tag/php-8.4.10" rel="noopener noreferrer"&gt;php-8.4.10&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com:php/php-src.git
git checkout php-8.4.10
./buildconf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's nice how PHP instructs the next step&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./buildconf --force
./configure --enable-debug
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;They'll reply with &lt;code&gt;Thank you for using PHP.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make -j$(nproc)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the reply: &lt;br&gt;
&lt;code&gt;Build complete.&lt;br&gt;
Don't forget to run 'make test'.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make -j$(nproc) test 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;You may have found a problem in PHP.&lt;br&gt;
This report can be saved and used to open an issue on the bug tracker at&lt;br&gt;
https://github.com/php/php-src/issues&lt;br&gt;
This gives us a better understanding of PHP's behavior.&lt;br&gt;
Do you want to save this report in a file? [Yn]: Report saved to: /home/rkc/.php/php-src/php_test_results_20250723_2157.txt&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So let's report a bug: &lt;a href="https://github.com/php/php-src/issues/19227" rel="noopener noreferrer"&gt;https://github.com/php/php-src/issues/19227&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It requires a &lt;code&gt;php -v&lt;/code&gt; output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;make install
sudo make install
php -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, you'll see&lt;br&gt;
&lt;code&gt;PHP 8.4.10 (cli) (built: Jul 23 2025 14:34:18) (NTS DEBUG)&lt;br&gt;
Copyright (c) The PHP Group&lt;br&gt;
Zend Engine v4.4.10, Copyright (c) Zend Technologies&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Disclaimer: I'm a Rails developer who is new to dev.to, and new to PHP. Exploring other languages.&lt;/p&gt;

&lt;p&gt;Now, we go back to &lt;a href="https://laravel.com/docs/12.x" rel="noopener noreferrer"&gt;Laravel Installation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is a note about installing Herd instead but only for Windows and MacOS.&lt;/p&gt;

&lt;p&gt;We will proceed with &lt;a href="https://github.com/composer/composer" rel="noopener noreferrer"&gt;Composer&lt;/a&gt; by installing via github.&lt;/p&gt;

&lt;p&gt;You may also install via apt with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install composer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for latest: go to &lt;a href="https://getcomposer.org/download/" rel="noopener noreferrer"&gt;Official installation instructions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you encounter &lt;br&gt;
&lt;code&gt;Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1&lt;/code&gt;&lt;br&gt;
you may run &lt;code&gt;php --ini&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You may skip the Clone Composer section&lt;/p&gt;
&lt;h3&gt;
  
  
  Clone Composer
&lt;/h3&gt;

&lt;p&gt;a dependency management for PHP [projects]&lt;/p&gt;

&lt;p&gt;Create a fork&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brave-browser https://github.com/composer/composer/fork
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clone your own fork&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd your/preferred/path
git clone https://github.com/rkcperea/composer.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Although I enjoy debugging, I don't have the luxury of time. Let's proceed by following &lt;a href="https://dev.to/abstractmusa/laravel-installs-in-ubuntu-step-by-step-3jom"&gt;Laravel installs in Ubuntu step by step&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>php</category>
      <category>laravel</category>
    </item>
  </channel>
</rss>
