Table of Contents - Astroblahhh PH-GTK 1.0 Readme


See Also: Some Puppy Linux Basics (local file)

Or online, and possibly more up to date:
Some Puppy Linux Basics



Readme for

Astroblahhh PH-GTK 1.0
for Ubuntu-Based Puppy Linuxes and Slacko Puppy

Readme Last Edited: April 28, 2013
First Released: April 28, 2013

Caution: Contains Mostly Old Versions of Software


  • PHP** 5.2.17 - only PHP-CLI, the command line version of PHP.

    PHP-CLI lets you use the PHP interactive shell, which is similar to the interactive shell in Python** or J**.

  • PHP-GTK** 2.0.1


  • The SQLite** serverless database software. PHP 5.2.17 comes with two versions of SQLite by default:

    SQLite 3.3.7 - Used by PHP's PDO_SQLITE features.

    SQLite 2.8.17 - Used by PHP's sqlite functions.


  • Example scripts: PHP**, PHP-GTK**, Perl**, and Python**, plus helpful tips.

  • FreeType** 2.4.11


    Works in these Ubuntu**-based Puppy Linuxes**:
    Lucid Puppy 5.2.8 versions 004 and 005 - Three Headed Dog 5.2.8 version 005 - Precise Puppy 5.4.3 - Puppy Studio 3.3 - Lucid Puppy 5.2

    Also works in: the Slackware**-based Slacko Puppy 5.3.3, and hopefully other Puppies I haven't tried


    .pet and .sfs packager, and author of this readme and various included scripts
    (mostly in Bash** or Perl**, but a few in PHP** and Python**):

    Apollia of Astroblahhh.Com

    I offer goods and services,
    and I also welcome donations and/or microdonations.

    Request Free/Libre/Open Source Software or Documentation,
    or Ask Programming Questions




  • Copyright Notice

    The documentation I wrote and many of the scripts I wrote that are included in this package are under the GNU General Public License v3.0. There are also short, simple scripts by me which are in the public domain.

    Other things in this package that aren't by me are under other licenses - see License Info and Icon Info.

    The below copyright notice only applies to things by me, except things in the public domain.


    Copyright (C) 2013 Apollia

    This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


    Contact info: http://astroblahhh.com/contact-apollia.shtml

    A copy of the license is included in the section titled GNU General Public License.



    GNU General Public License

    GNU General Public License v3.0 - Home Page

    The documentation I wrote and many of the scripts I wrote that are included in this package are under the GNU General Public License v3.0. There are also short, simple scripts by me which are in the public domain.

    Other things in this package that aren't by me are under other licenses - see License Info and Icon Info.


    Why did I choose the GNU General Public License (GPL) rather than the GNU Free Documentation License (GFDL) for the documentation I wrote?

    Because the terms in the GFDL about invariant sections made me uneasy. I didn't want modified versions of this page possibly acquiring unremovable new sections. If people want to use or modify relatively small parts, I want them to be free to do so without having to also reproduce the entirety of all the invariant sections too.



    Warning: Many Security Holes Have Been Found in PHP, and Astroblahhh PH-GTK Uses an Old Version of PHP and Other Old Versions of Software

    Programmers do their best - but, with any kind of programming at all, it's terribly easy to make mistakes, and new security holes are discovered all the time.

    Those security holes are generally plugged in updated versions of the software.

    However, one problem with Astroblahhh PH-GTK is that it uses old versions of software. It uses PHP** 5.2.17 because, as far as I know, no more recent version of PHP works with the latest version of PHP-GTK** - 2.0.1.

    I'm assuming Astroblahhh PH-GTK is probably safer, security-wise, than Astroblahhh GLMP-GTK potentially is, since, unlike Astroblahhh PH-GTK, Astroblahhh GLMP-GTK has web server-related stuff and database server stuff in it.

    As long as you're writing local programs that don't work with the internet at all, I'm guessing Astroblahhh PH-GTK probably is secure enough (though PHP 5.2.17 might have other bugs that perhaps were fixed in later versions of PHP).

    But, it might be safer to avoid using Astroblahhh PH-GTK for internet-related software.

    I have no clear idea of how Astroblahhh PH-GTK could possibly be exploited, but, it doesn't hurt to be cautious.

    In Astroblahhh PH-GTK, I've only included PHP-CLI (the command line version of PHP) and not PHP-CGI (the CGI or web version of PHP).



    Warning: Any Software Can Be Dangerous

    See: Warning: Any Software Can Be Dangerous** in the file Some Puppy Linux Basics**



    What is Astroblahhh PH-GTK?


    Astroblahhh PH-GTK is a package of software for people interested in:


    If you're interested in developing web software in PHP**, Perl** or Python**, or database software that uses MariaDB** (known as "a drop-in replacement for MySQL"**), you'd be better off downloading Astroblahhh GLMP-GTK, which can do everything Astroblahhh PH-GTK can do, and more.

    Astroblahhh PH-GTK is derived from Astroblahhh GLMP-GTK. I just removed all the web-related and MariaDB-related stuff, recompiled PHP to not have PHP-CGI (the CGI or web version of PHP) and MySQL-related stuff, and revised this Readme - but other than that, the two are identical.


    Advantages of Astroblahhh PH-GTK are that it's much smaller than Astroblahhh GLMP-GTK, and you hopefully won't have to worry so much about possible internet security issues, since running PHP-GTK software locally doesn't require you to run a web server, and SQLite is a local, serverless database.

    But, PHP does have plenty of internet-related commands, so, it would probably be a good idea to be cautious with Astroblahhh PH-GTK, too.

    Especially since Astroblahhh PH-GTK doesn't contain the newest PHP available, but instead PHP 5.2.17, because that's the newest one I know of that works with the newest version of PHP-GTK, 2.0.1.

    Astroblahhh PH-GTK also doesn't contain the latest database software. It has SQLite 2.8.17 and SQLite 3.3.7 because those are what came with PHP 5.2.17.


    This release of Astroblahhh PH-GTK was created in Lucid Puppy 5.2.8 version 004. It works in that and other Ubuntu**-based Puppy Linuxes, and somehow also works in the Slackware**-based Slacko Puppy 5.3.3. It didn't work in everything else I tried so far.

    Astroblahhh PH-GTK can be installed either with an .sfs file, or a .pet file. (If you don't know what those are, see What is a .pet file? and What is an .sfs file? in the file Some Puppy Linux Basics.)

    .pet and .sfs files in general both have their advantages and disadvantages - see Why use a .pet file rather than an .sfs file, or vice versa?



    About the Name

    I almost named the Astroblahhh GLMP-GTK package (which Astroblahhh PH-GTK is derived from) something long and cumbersome:

    php-cli-and-cgi-5.2.17-with-php-gtk-2.0.1-and-mariadb-5.3.12-and-freetype-2.4.11--made-in-lucid-puppy-5.2.8-4--package-version-1.0-i686

    Then I saw in the PHP License that I couldn't use PHP**'s name in the name of my project without permission. So, I had to change the name to Astroblahhh GLMP-GTK, which I guess was probably for the best.

    Eventually I decided to make a variant of Astroblahhh GLMP-GTK which had no web-related or MariaDB-related stuff, but mainly just PHP-GTK, etc. I couldn't simply call it Astroblahhh PHP-GTK (again because of PHP's license, and also because I preferred something more unique), so, I called it:

    Astroblahhh PH-GTK


    The PH-GTK part of the name comes from the fact that Astroblahhh PH-GTK contains PHP-GTK** 2.0.1.

    That makes it so you can create PHP software with native Linux graphical user interfaces (GUIs) using GTK+. ** It's similar to WinBinder in Windows**. (The WinBinder FAQ explains how PHP-GTK and WinBinder compare to each other.)


    Astroblahhh PH-GTK only really assists in using PHP for GTK** stuff, since I haven't yet figured out how to use Perl and Python to make GTK software. (Haven't tried very hard yet...)

    But, I included some non-GTK Perl** and Python** example scripts just for the heck of it.


    The Astroblahhh part of the name is simply from the name of my personal website - Astroblahhh.Com.



    What Puppy Linuxes will Astroblahhh PH-GTK work in?

    I tested only Astroblahhh GLMP-GTK in a variety of Puppies. Astroblahhh PH-GTK is derived from Astroblahhh GLMP-GTK, so I didn't repeat the tests.

    Alas, Astroblahhh GLMP-GTK didn't work in most variants of Puppy Linux** I tried.

    But, with effort, it could be made to work. See: Making Astroblahhh PH-GTK Work in Other Puppies


    Happily and to my surprise, this package did work in one Puppy which wasn't Ubuntu Linux**-based: Slacko Puppy 5.3.3, which is based on Slackware Linux**.

    It worked best in Ubuntu Linux-based Puppies like Lucid, Precise, Three-Headed Dog, and Puppy Studio 3.3.

    However, I only tested it briefly in most everything, except Lucid Puppy 5.2.8 version 004, the Puppy I built Astroblahhh GLMP-GTK in - so, my apologies if you run into any problems.


    Astroblahhh PH-GTK assumes your Puppy has Perl** (which is used by some of the installation scripts).


    This package worked in:This package didn't work in:
    1. Lucid Puppy 5.2.8 version 004 - what I use nearly all the time. It's also the Puppy in which I compiled everything that needed to be compiled.

      However, I'm not sure if Lucid Puppy 5.2.8 version 004 is available to download anymore, since only version 005 is here:

      http://distro.ibiblio.org/puppylinux/puppy-5.2.8/

    2. Lucid Puppy 5.2.8 version 005 - Briefly tested and it seemed to work fine.

    3. Three-Headed Dog 5.2.8 version 005 - Same.

    4. Precise Puppy 5.4.3 - Same.

    5. Puppy Studio 3.3 - Same.

    6. Lucid 525 Retro-2.6.30.5 - Same.

    7. Lucid Puppy 5.2 - Same.

    8. Slacko Puppy 5.3.3 - The only problem I noticed was, shell commands such as rox "/root/Path with Spaces In It/" cause an error message to appear instead of causing the Rox-Filer file manager to open the path. Escaping the spaces doesn't help (whether or not the path is put in quotes).

      But, other than that, the rest seems to work fine. You just won't be able to use some of the convenient folder opener scripts, and after installation, you'll have to open the "Readme and Extras" folder manually.

      It's located in: /root/

    1. Wary Puppy 5.3 - After install, typing php at a shell prompt results in many repetitions of of this error: "php: /usr/lib/libxm12.so.2: no version information available (required by php)" And 1 line saying: php: /lib/libc.so.6: version `GLIBC_2.11' not found (required by php) And 1 line saying: php: /lib/libc.so.6: version `GLIBC_2.11' not found (required by /usr/local/lib/libfreetype.so.6)

    2. Racy Puppy 5.2.2 - Same.

    3. RacyPy 4** - Same.

    4. Quirky Puppy 1.4.2 - Similar. Typing php at a shell prompt results in the same last two error lines that were shown in the previous 3.

    5. Fatdog64-611 - Typing php at a shell prompt results in sh: /usr/local/bin/php: No such file or directory, even though the php file is definitely at that location after the Astroblahhh GLMP-GTK .pet installs.

      Also, Fatdog64-611 doesn't have Perl installed, which is used by some of the installation scripts.

    6. Lighthouse64-5.11 F - Typing php at a shell prompt results in: php: error while loading shared libraries: libreadline.so.6: wrong ELF class: ELFCLASS64

    7. BrunoPup 2.0 - a 4.31 Puppy Linux. The Astroblahhh GLMP-GTK .pet installs but PHP complains about not having "libreadline.so.6". (As of 19:30 02/17/2013, the BrunoPup ISO doesn't seem to be available for download.)

    8. Dpup 485 - Same as what happened with BrunoPup 2.0.

    9. ArchPup 13.2.1 - I couldn't figure out how to make it open and install a .pet.



    Memory Requirements

    The .pet** of Astroblahhh PH-GTK installs about 23 MB of files, so if you install the .pet, you'll need at least that much "personal storage space" RAM (if running Puppy in RAM), or else that much space in your Pupsave file or hard disk.

    If you use the .sfs** of Astroblahhh PH-GTK, somehow that doesn't use up "personal storage space" RAM, but, just watch out for the various nuisances .sfs files have. (See the .sfs**-related sections of the file Some Puppy Linux Basics**.)



    Making Astroblahhh PH-GTK Work in Other Puppies

    For Astroblahhh PH-GTK to work in any Puppies it currently doesn't work in, probably all the compiled software in Astroblahhh PH-GTK will need to be recompiled using each program's source code (see Package Contents section for links) and the DevX file** for the Puppy in which you want to use Astroblahhh PH-GTK.

    I'm unlikely to create Astroblahhh PH-GTK packages for other Puppies myself, unless asked, or optionally paid to do it, or unless I begin using a Puppy Linux variant that is incompatible with this Astroblahhh PH-GTK package.

    But, you can always build your own PH-GTK package, with whatever customizations you like.

    See: How to Compile Software from Source Code**

    Doing that might be a lot less troublesome and difficult than you might think. Before making Astroblahhh PH-GTK, I thought it might be difficult and maybe impossible for me to figure out how to do it - but, luckily, it turned out to be surprisingly easy to make. The most difficult, time-consuming thing was writing all this documentation.


    But, if you'd still rather not build your own PH-GTK package, you could ask me to do it, either for free, or for donations, or for upfront payment: Request Free/Libre/Open Source Software or Documentation, or Ask Programming Questions


    It should be possible to make variants of Astroblahhh PH-GTK that would work in Linuxes other than Puppy, and I might someday make a Windows** version or perhaps even a Mac** version, since I like the idea of being able to write PHP-GTK software that will easily run on multiple platforms.

    But, those will likely be more difficult to make than other Puppy versions of Astroblahhh PH-GTK.


    The compiled software in Astroblahhh PH-GTK includes: PHP, PHP-GTK, FreeType. And SQLite, but that comes with PHP, so you won't have to compile that separately.

    If your Puppy doesn't have Perl**, you could either install Perl (it's probably contained in your Puppy's DevX file**) just before running your custom PH-GTK installer, or replace the handful of Perl installation scripts with ones written in Bash** or some other scripting language your Puppy has.

    And if your Puppy doesn't have the Hiawatha** web server, you can try downloading and compiling it. I haven't tried doing that myself, so, I don't know how easy or difficult that will be.


    If you do compile your own PH-GTK package, it would probably be best to call it something other than "Astroblahhh" (even if it includes scripts or other things I wrote myself and included in Astroblahhh PH-GTK), since "Astroblahhh" in the name might imply I made your package (since my personal website is Astroblahhh.Com), and I'd prefer not to take the credit (or blame) for other people's work.



    Astroblahhh PH-GTK Package Contents,
    with Comments and Tips


    Everything that needed compiling in this package was compiled in Lucid Puppy 5.2.8 version 004 using its DevX file** - lupu_devx_528-4.sfs - which contains numerous development tools such as compilers.

    That DevX is available from:

    http://distro.ibiblio.org/puppylinux/puppy-5.2.8/




    PHP 5.2.17

    Command line (CLI) version, and no FastCGI (web) version.


    PHP** is a well-known, very popular programming language.

    This is deliberately not the newest version, because later versions I tried didn't work with the latest PHP-GTK** version, 2.0.1.

    I compiled PHP with these options:

    ./configure --with-readline --enable-zip --enable-mbstring --disable-cgi --enable-ftp --with-gd --with-ttf --enable-gd-native-ttf --with-freetype-dir=/usr/local/lib/

    The above options are explained in greater detail below.


    PHP-CLI (the command line version of PHP) has an interactive shell, similar to the interactive shell in Python** or J**.

    You can start the PHP interactive shell by using the little Bash** script in the Interactive Shells/ folder in the same folder as this Readme, or by typing php -c /etc -a in a console.


    By default, both PHP-CLI and PHP-CGI use the php.ini file at /usr/local/lib/php.ini, but PHP-CLI needs to use the php.ini at /etc/php.ini if you want to use PHP-GTK. The PHP-GTK extension is disabled in /usr/local/lib/php.ini because it causes errors with PHP-CGI.

    The Rox-Filer** run action selector scripts in the Rox-Filer Run Actions/ folder in this "Readme and Extras" folder should take care of the php.ini issues automatically.




    PHP-GTK 2.0.1

    A PHP-CLI extension which makes it so you can create PHP software with native Linux graphical user interfaces (GUIs) using GTK+. **


    PHP-GTK** is similar to WinBinder in Windows**. (The WinBinder FAQ explains how PHP-GTK and WinBinder compare to each other.)

    In the Example Scripts/PHP-GTK folder (in the same folder as this Readme), there are some PHP-GTK example scripts which hopefully can be run just by clicking on them. (They should work that way, if you said yes to the installation of the .phpg MIME type and left its default Rox-Filer** run action alone.)




    SQLite 3.3.7 and 2.8.17

    SQLite** is serverless database software. I didn't include standalone versions of SQLite, just the two versions PHP 5.2.17 comes with by default:

    SQLite can be used with both PHP-CGI (the CGI or web version of PHP) and PHP-CLI (the command line version of PHP).




    FreeType 2.4.11

    I think FreeType** makes it so the GD** image-making extension in PHP** can add text to images. That's the only reason I included it.




    Directory Structure of "Readme and Extras" Folder



    PHP ./configure Options I Used

    I compiled PHP with these ./configure options:

    ./configure --with-readline --enable-zip --enable-mbstring --disable-cgi --enable-ftp --with-gd --with-ttf --enable-gd-native-ttf --with-freetype-dir=/usr/local/lib/


    Explanations of the above options:



    My Changes to the php.ini Files

    The included php.ini configuration files differ from the file php.ini-recommended (from the PHP 5.2.17 tar.gz file) in the following ways:



    License Info

    The documentation I wrote and many of the scripts I wrote that are included in this package are under the GNU General Public License v3.0. There are also short, simple scripts by me which are in the public domain.

    Other things in this package that aren't by me are under other licenses - except SQLite**, which is actually public domain.

    See also: Icon Info




    Icon Info

    All of the icons I included in the Astroblahhh PH-GTK package were downloaded from IconArchive.com.

    Their licenses all permit usage without requesting permission, so I didn't request permission.


    None of the below are official logo icons for PHP**, Perl**, or Python**.

    I chose the clover icon only for aesthetic reasons. As far as I know, clovers have nothing to do with PHP-GTK**.

    I was inspired to use the blue elephant icon for PHP because of the unofficial elephant logo for PHP: http://www.elroubio.net/ (However, the icon I used isn't from that site - it's by Fast Icon. I prefer its colors and lack of text.)


    Note: .phpb is not an official file extension, as far as I know. I just arbitrarily wanted a separate MIME type for PHP files I wish to use as console scripts, and picked .phpb because when I searched the web, I didn't find anything already using that extension.



    .phpb (PHP Console Script)

    .php

    .phpg (PHP-GTK)

    .pl (Perl)

    .py (Python)



    Note: The "Readme and Extras" Folder was installed in /root/, a location which is probably in your RAM disk

    See the section titled Beware of RAM in the file Some Puppy Linux Basics for a longer explanation of why this might be a problem.

    Basically, anything in a RAM disk is at great risk of being irretrievably lost, so, anything you want to keep, you should store in a (so-called) permanent storage medium, like a hard disk.

    So, you might want to move the "Readme and Extras" folder to a location in a permanent storage medium.


    But, no worries if you accidentally lose the "Readme and Extras" folder. You can always download a fresh copy from:

    http://astroblahhh.com/software/ph-gtk

    And, of course, a copy exists inside the Astroblahhh PH-GTK .pet or .sfs.



    I, Apollia of Astroblahhh.Com, offer goods and services,
    and I also welcome donations and/or microdonations.

    Request Free/Libre/Open Source Software or Documentation,
    or Ask Programming Questions


    Go to top
    Last modified: April 28, 2013
    This page uploaded to web: April 28, 2013