Table of Contents - Astroblahhh PH-GTK 1.0 Readme
Or online, and possibly more up to date:
Some Puppy Linux Basics
My main personal website is now Apollia.org. I'm still not sure what to do with Astroblahhh.Com, so it's mostly staying as-is for now.
Activism | Astrology | Astronomy | Blog | Credit Card Boycott | Firefox Add-Ons | GNU/Linux | How To Guides | Ideas | Languages | Music | Opinions | Pictures | Second Life | Self-Help | Software | Windows
Eryss.Com Forum - Non24.Com Forum
Donations | Services (none available currently)
Request Free/Libre/Open Source Software or Documentation, or Ask Programming Questions (but only if you're very patient)
Or online, and possibly more up to date:
Some Puppy Linux Basics
PHP-CLI lets you use the PHP interactive shell, which is similar to the interactive shell in Python** or J**.
SQLite 3.3.7 - Used by PHP's PDO_SQLITE features.
SQLite 2.8.17 - Used by PHP's sqlite functions.
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 |
(mostly in Bash** or Perl**, but a few in PHP** and Python**):
Apollia of Astroblahhh.ComI offer goods and services,and I also welcome donations and/or microdonations.
Request Free/Libre/Open Source Software or Documentation, |
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.
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).
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?
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:
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.
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: |
---|---|
|
|
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**.)
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.
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/
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.
-a
option is the one that starts the interactive shell.
-c
option tells PHP what folder to look in (in the above case, the /etc/
folder) for the php.ini
configuration file you want PHP to use.
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.
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** 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).
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
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:
--with-readline
Makes it so PHP-CLI's interactive shell works.
--enable-zip
Adds the Zip extension to PHP, enabling you to work with .zip files.
--enable-mbstring
Adds the mbstring extension to PHP. I'm not sure what it does exactly, I only added it because phpMyAdmin** 3.3.5 wanted it.
--disable-cgi
Makes it so PHP-CGI wasn't created, only PHP-CLI.
--enable-ftp
Included because some of the things I plan on coding might involve downloading files via FTP.
--with-gd
Adds the GD** image processing extension to PHP.
--with-ttf
An option related to the GD** image processing extension.
"GD: Include FreeType 1.x support"
Quoted from text produced by the command ./configure --help
--enable-gd-native-ttf
An option related to the GD** image processing extension.
"GD: Set the path to FreeType 2 install prefix"
Quoted from text produced by the command ./configure --help
--with-freetype-dir=/usr/local/lib/
php.ini
configuration files differ from the file php.ini-recommended
(from the PHP 5.2.17 tar.gz file) in the following ways:
max_execution_time = 300
[5 minutes] instead of 30
error_reporting = E_ALL
now says:
error_reporting = E_ALL ;^ E_NOTICE
Just delete the ;
to uncomment the ^ E_NOTICE
part.
display_errors
and display_startup_errors
are On
instead of Off
. Also, log_errors_max_len = 0
because a comment above that says:
"Set maximum length of log_errors. In error_log information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all."
extension_dir = "/usr/local/lib/php/extensions/"
instead of extension_dir = "./"
php.ini
at /usr/local/lib/php.ini
:
;extension=php_gtk2.so
;extension=sweph.so
In the "Dynamic Extensions" section of PHP-CLI's php.ini
at /etc/php.ini
:
extension=php_gtk2.so
;extension=sweph.so
sweph.so
is the Swiss Ephemeris PHP extension, PHP-SWEPH. It's not included in the Astroblahhh PH-GTK package, since it's mainly of interest to people who are interested in astrology, but you can download it separately at:
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
PHP license info: http://php.net/license/index.php
FreeType license info: http://freetype.org/license.html
Maybe I didn't look hard enough, but, I couldn't find any mention of a license in PHP-GTK's documentation, nor in the PHP-GTK 2.0.1 tar.gz file. So, I don't know if Wikipedia is right.
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) |
---|
/root/
, a location which is probably in your RAM diskSee 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:
And, of course, a copy exists inside the Astroblahhh PH-GTK .pet or .sfs.
Request Free/Libre/Open Source Software or Documentation,
or Ask Programming Questions
Activism | Astrology | Astronomy | Blog | Credit Card Boycott | Firefox Add-Ons | GNU/Linux | How To Guides | Ideas | Languages | Music | Opinions | Pictures | Second Life | Self-Help | Software | Windows
Eryss.Com Forum - Non24.Com Forum
Donations | Services (none available currently)
Request Free/Libre/Open Source Software or Documentation, or Ask Programming Questions (but only if you're very patient)
My main personal website is now Apollia.org. I'm still not sure what to do with Astroblahhh.Com, so it's mostly staying as-is for now.