Understanding the inner workings of Drupal
Video: Understanding the inner workings of DrupalUnderstanding the inner workings of Drupal provides you with in-depth training on Web. Taught by Tom Geller as part of the Drupal 6 Essential Training
Understanding the inner workings of Drupal
Drupal-based sites look somewhat different from those built in plain-old HTML. Now we are going to look at Drupal's inner workings to understand exactly what happens when visitors request a page from Drupal. It's actually quite different from the mechanism of an HTML site and understanding the differences is important as you go forward in building and maintaining your Drupal site. Let's start by taking a look at what happens when you try to get a page from an HTML site. There you are sitting at home, you ask for the page and your request goes to a web server. Usually it's going to be the Apache Web Server. The web server then delivers a page such as index.html, that page in turn will pull together all of the resources that it needs to present something to you that will be text and graphics files, and possibly other files in processes that might for example include PHP programs.
Once the page has been created it gets sent back to the web server, which then goes to you, and you see it on your Web Browser. Let's take a look at some of the files that are inside an HTML site. In this case I used my own site, tomgeller.com. It's actually quite simple, all of the files that you can call from a Web Browser and an HTML in this case, clients.html, endorsements.html and so forth and the way that this site is constructed the additional things that you need are in sub-directories, graphics, portfolio and so forth. In addition there is a cascading style sheet here which ends with .css.
Now we are going to take a look at what happened when somebody requests a page from a Drupal website. Once again there you are sitting at your computer and you make the same sort of request to an Apache Web Server. However, in this case, instead of going to an HTML file it actually calls up a PHP program. That program in turn calls together graphic files, but also data that are inside of an SQL database, and it might also call additional PHP programs or other types of programs. All of these things are taken and put together by the PHP program as a page, which again gets sent back to the web server and then goes back to you.
If we take a look at the files in a Drupal site, we notice something very interesting. I am going to rearrange these by type here. None of these files end in HTML these, text files are really just Help files, but the main parts end in PHP. Let's open up this index.php file, which is what someone calls when they go to the main page of a Drupal website and here we are. If you know HTML, you will notice that this looks nothing like the HTML that you are used to because it is in fact PHP programming language.
Let's look through this index.php file. All of these things at the beginning are just common. So the first real command in the PHP file is this requireonce ./includes/bootstrap.inc, and if you go back to your file structure you can actually go into the folder called includes and find that file. So this one PHP program is immediately calling another PHP program, and if you go inside this you will find that it calls others and others, and say you have this whole cascade of PHP programs that eventually come together to create your page.
At first this might seem like an incredibly convoluted and wasteful way to call a simple web page, but in practice it's not. PHP doesn't require very many resources to switch among files like this, and the computer quite naturally navigates among them according to logic. However, this computer-friendly structure can be extremely user-unfriendly if you are trying to figure out where certain commands came from or where to put files to change the way your site looks and acts. In brief the default location for your site's overall appearance called its Themes are in the themes folder, and you can see here these are different themes that show up in Drupal.
Files that are specific to an individual site go into the sites folder and you have a choice to make certain files available to all of your Drupal sites or if you are just running one Drupal site, you could put into the default folder. I hope that you haven't been scared away by this description of Drupal's inner workings, which can admittedly be pretty intimidating. The good news is that you don't have to know most of this to run a Drupal site as most of the administration is done through a web browser based interface and a FTTP program. Still, understanding some of these points that your content is stored in a database for example instead of HTML files we will help you in putting together your Drupal site.
Find answers to the most frequently asked questions about Drupal 6 Essential Training .
Here are the FAQs that matched your search "" :
- Q: While following along to the installation instructions in the “Installing WAMP and Drupal on Windows” chapter in the Drupal Essential Training title, an error occurs when attempting to open the local host page. Nothing appears except for an error reading “WAMPSERVER server offline.” What is causing this?
- A: There is a known problem with some versions of WAMP that include a version of PHP (5.3) that some versions of Drupal is not compatible with. See http://tomgeller.com/content/tips-running-drupal-windows-using-wamp#comment-831 for more information.
If that is not causing the issue, reference the tips at http://tomgeller.com/content/tips-running-drupal-windows-using-wamp.
If you don't see the solution at either of those links, try using another AMP stack, such as XAMPP or the Acquia stack installer. See http://tomgeller.com/content/what-hells-wrong-drupal-wamp for discussion about these.
- Q: After installing XAMPP and running Drupal for the first time, the Administration menu does not appear. What is the reason for this?
- A: There are several possible problems. Here are some likely solutions. (These may also solve problems encountered with other AMP stacks.)
- Increase XAMPP's PHP allocation.
- Check to make sure all XAMPP's paths are correct and that permissions are correct. If the database information appears, but not Drupal's supporting files, and an included theme is being used, the supporting files will be in the /modules folder.
- Another solution is to not use WAMP or XAMPP. One option is to use Acquia's Drupal Stack Installer ("DAMP"), which can be found at http://www.acquia.com/downloads. However, that installs Acquia Drupal, which is a version of "normal" Drupal extended with additional modules. If only core Drupal is desired, see the instructions at http://acquia.com/blog/kieran/try-drupal-7-alpha-your-laptop-or-desktop. (The instructions are for Drupal 7, but will work for Drupal 6 as well.)
- Q: In the "Using the example files" movie, the method of importing information to the database is shown, using the backup in Chapter 10. When attempting to do this, the following error is shown: "No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16." The system is running the latest versions of Apache, PhP and MySQL, on Windows Vista. What could be causing the problem?
- A: This is probably caused because your AMP stack allocates too little memory to PHP.
That's especially true if you're using WAMP, which only gives PHP 2MB of memory, when it really needs at least 16MB.You'll see the issue if you go to the MySQL-controlling phpMyAdmin screen (probably at http://localhost/phpMyAdmin) and click "Import": The maximum file size allowed is 2,048K. That's only 2MB, and the databases for most Drupal sites are much larger than that. (The example site for Drupal Essential Training gets as big as 5MB.) The video "Installing WAMP and Drupal on Windows" shows (at around 3:30) where the php.ini file is, but here are some more-complete instructions to increase that memory limit.
- Click the WAMP icon in your system tray.
- Select "PHP". In the side menu, select "php.ini" to open a file containing PHP's configuration options.
- Search for the line, "upload_max_filesize = 2M".
- Change it to "upload_max_filesize = 32M" (or whatever you like).
- Save the file and restart WAMP. (Better yet, restart your computer entirely to be sure. I'm frankly not sure whether it makes a difference.)
- Now go back to that "Import" screen in phpMyAdmin: You should notice that the limit has changed.
- Q: I don't remember the default username and password used demonstrate Drupal.
- A: The default username used in the course is "admin"; the default password is "booth".
- Q: How can I change Drupal's administrative username and password?
- A: If for some reason the default exercise file username (admin) and password (booth) don't work, you can change them in the database itself using phpMyAdmin. (This technique is demonstrated in a video from Chapter 8, "Recovering from disasters".)
- Open your Drupal database with phpMyAdmin.
- Go to the "users" table. Click the Browse icon.
- For the row where uid = 1, click the Edit icon. (Note the value under the "Name" column: That's the administrator's username.)
- In the "pass" row, select "MD5" under the "Function" column
- In the same row, enter your new password under the "Value" column.
- At the bottom of the screen, click the "Go" button. You should now be able to log in with that username and new password.
- Q: In Windows Vista, the WAMP icon disappears from the system tray after a certain amount of time. How do I get it to reappear?
- A: To make the WAMP icon reappear (so that you can access localhost, phpmyadmin, php.ini, etc.), you have to activate the "start WAMP server" icon (from start menu, desktop or wherever). The system tray icon will reappear.
- Q: My .htaccess file disappeared. What caused this?
- A: A few times during the Drupal Essential Training video series, the instructor says to copy a Drupal installation by selecting all the files in the folder and then "dragging and dropping" them, either to a server or another location on your local computer. This is not the best way to do so, as the hidden file ".htaccess" will not be copied.
There are two ways to get around that problem:
Sorry for the error.
- When installing Drupal for the first time: Instead of copying files from the Drupal folder, move the entire folder to its target location and rename it. This is the easiest solution for those without experience with Unix.
- Use the command-line interface to copy the .htaccess file.
- Q: In the video, the instructor says the current version of Drupal is 6.3, but on the drupal.org site, the latest version is 6.17. Which is the newer version of Drupal?
- A: Drupal 6.17 is newer than version 6.3. For some reason, the the version numbers go 6.3, 6.4... 6.9, 6.10... 6.17. It’s counter-intuitive, but that’s the order.
- Q: My WAMP phpMyadmin will not allow me to upload the exercise files. It returns this message: "No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16." There was no previous database to drop, so what do I need to do to make this work?
- A: This is a common problem, caused not by Drupal, but by WAMP. WAMP only allows you to upload files of 2MB or smaller, which is much too small. The solution is detailed at http://tomgeller.com/cant-import-a-drupal-site-in-windows.
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.