Install PHP Pharmacy Management System: Step-by-Step Guide
By Prakash Panthi, Founder · Published August 25, 2026 · Updated September 30, 2026
This is the real, complete process for installing the Pharmacy Management System — a PHP (CodeIgniter 3) and MySQL application — on shared hosting or a local XAMPP setup. Follow it in order and you'll have it running in 15–30 minutes; every step below matches the product's actual file structure, not a generic template.
What you'll need
- PHP 8.0 or higher (this product is verified compatible — no deprecated
mysql_*functions) - MySQL 5.7+ or MariaDB 10+
- Hosting with phpMyAdmin access, or XAMPP for local testing
- The product zip file — it already includes the database file, you don't need to build a schema yourself
Step 1 — Choose Your Hosting (or Set Up XAMPP Locally)
If you're testing before deploying, download XAMPP and start the Apache and MySQL modules from its control panel. For a real deployment, this product runs on any standard PHP + MySQL shared hosting — no VPS or special server configuration required. We use and recommend Hostinger for exactly this kind of install: PHP 8.x, MySQL, phpMyAdmin, and FTP access are all included on their basic shared-hosting plans, which is all this product needs.
Step 2 — Extract and Upload the Files
Extract the downloaded zip. On XAMPP, copy the contents into htdocs. On shared hosting, upload everything to public_html via FTP (FileZilla is a common free client) or your host's file manager. There's no build step and no Composer install to run — the files are ready to serve as extracted.
Step 3 — Create Your MySQL Database
In your hosting control panel (or XAMPP's phpMyAdmin at localhost/phpmyadmin), create a new database and a database user with full privileges on it. Note the database name, username, password, and host — you'll need all four in the next step.
Step 4 — Update the Database Connection Settings
Open application/config/database.php in the extracted files — this is the one file that always needs editing. Set hostname, username, password, and database to match what you created in Step 3. On XAMPP, the default is host localhost, username root, with no password.
Step 5 — Import the Database
The product's installer SQL file lives at install11111111111111/sql/install.sql inside the extracted files — that folder name looks unusual, but it's correct, not a typo. In phpMyAdmin, select the database you created, open the Import tab, choose that file, and click Go. This creates every table the application needs, already populated with the default admin account.
Step 6 — Log In and Change the Default Password
Visit your domain (or localhost/your-folder-name on XAMPP) in a browser. The installer seeds a default admin account — email test@test.com, password 123456. Log in with that, then change the password immediately from the admin panel before this goes anywhere near real inventory or sales data.
Common installation errors
"Access denied for user" error
Your database username/password in application/config/database.php don't match what you created in phpMyAdmin — double-check both, and confirm the database user actually has privileges granted on that specific database.
Blank white page after login
Usually a PHP version mismatch on older, unrelated code — check your hosting's PHP error log for the specific line. This product itself has been verified against current PHP 8.x, so if you're seeing this, it's worth confirming your hosting account is actually running PHP 8 and not an older default.
"Table doesn't exist" errors
The install.sql import from Step 5 didn't complete — re-import it and confirm the tables actually appear in phpMyAdmin's table list before trying to log in again.
Monthly sales report errors on MySQL 8
Recent MySQL/MariaDB versions default to a stricter ONLY_FULL_GROUP_BY SQL mode than older servers did. If a report query errors out with a message about a column "not being in GROUP BY," the fix is a one-line change to your database's SQL mode — ask your host to set sql_mode to include NO_ENGINE_SUBSTITUTION without ONLY_FULL_GROUP_BY, or set it per-session in phpMyAdmin's SQL tab with SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION'; if you have the privileges to do so.
Stuck on something not covered here?
Email support is included with your purchase — reply with your payment ID and what you're seeing, and we'll help you get it running.
Available systems in this category
The system this guide was written for is not available for new purchases right now. These PHPGuru-developed systems cover related needs — check each page for exactly what it includes.
- Blood Bank Manager — Donor eligibility, blood-unit stock with expiry, and safe issuing, in PHP
- Clinic Appointment Booking — Doctor time slots and appointment booking with no double-booking, in PHP
- Diet & Meal Planner — Client profiles, meal plans with calorie and macro totals, and a weight tracker, in PHP