Using MacOS X, Apache, PHP, MySQL, Dreamweaver UltraDev, and Phakt

•  Introduction
•  Choosing your Mac OS X Operating System
•  Installing Apache and PHP
•  Installing MySQL
•  Installing the required JDBC drivers
•  Installing the Phakt PHP Server Model
•  Setting up UltraDev and Phakt to talk to MySQL
•  Potential Problems







Page 7—Possible Problems

After providing all the specifics for your database connection, the connection should be tested to ensure that UltraDev can talk to the database. There are generally two types of errors that you would receive here, either UltraDev can't connect to the database server, or the user information that was provided doesn't have sufficient permission to access the database.

Some of the errors that I've encountered are described below. Unfortunately, the wording of them isn't exact because I was too dumb to write down the specifics as I experienced them. However, they should be relatively specific enough to give you an idea.

  • Kernel Panic when connecting via FTP or JDBC when using OS X 10.1.2
    I (and several others) have noted that these instructions will not work with Mac OS X 10.1.2 if you are running Phakt and UltraDev in Classic and you try to connect to Apache on OS X on the same machine! Applications that make network connections that traverse the gap between Classic and OS X using 10.1.2, whether it be FTP, JDBC, Classic browser, mail client, or whatever, will cause a kernel panic (aka non-recoverable crash that requires rebooting; comparable to the Windows Blue Screen of Death). There is no known workaround for this! There were changes made to the network software in 10.1.2 that are causing problems.

    10.1.3 was just released on February 19, but does not appear to allow network connections that cross from Classic to OS X. I'm still trying to find a workaround and will keep you all up to date as I discover things. Right now, I'm just hoping that UD is released soon in a Carbon-compliant version!

  • "Cannot locate org.mm.mysql.jar"
    This is generally a UD-on-Mac error. This is usually caused because the MySQL JDBC driver wasn't copied into the System Folder as required and UltraDev doesn't know where to find it.
     
  • "No suitable JDBC Driver Found"
    Mac users selecting the "Check" button in the Connection dialogue will result in this error being generated. I haven't yet figured out what causes this error, but it does not affect UltraDev's ability to communicate with the MySQL database.

  • "User doesn't have permission to ... " or "Server configuration denies access to the data source"
    Generally caused because the user specified in the connection dialogue does not have adequate permission in the database to access it. While I'll leave this one to you to hunt down in your MySQL documentation section on database permissions, I'll give you a hint relative to my limited experience thus far: MySQL has host requirements for its users. For example, it the IP address for the computer that you are running UltraDev on is 192.168.1.2, then the user you are trying to log in as has to have a host defined for that computer. A quick, partial view of the "user" table in the "mysql" database reveals:

    Host User Password
    192.168.1.2 root rootpassword
    localhost root rootpassword
    192.168.1.5 www  
    192.168.1.2 owensc babybumpers


  • "Cannot connect to MySQL server on 1.2.3.4:3306. Is there a MySQL Server running on the machine/port you are trying to connect to?"
    The MySQL daemon may not be running. Make sure that you start MySQL and have the startup scripts installed. Refer to Marc's Web site for more information on that.

    If you are running UltraDev in Classic mode on the same computer you are serving your web pages, make sure you have an active Ethernet connection. This can be an elusive problem if you dial into your ISP using only a modem and don't have an Ethernet cable plugged into your Mac. Surprisingly enough, if you do not have an active Ethernet connection, Classic mode (OS 9) will disable its Ethernet extensions upon starting. Then there is no way for UltraDev to speak with your web server on OS X (except when you are connected to the Internet through your modem, interestingly enough, which would be a valid network connection between Classic and OS X). To fix this problem, you can either plug your Mac into an Ethernet hub (even if there's only one computer on the network), or build an Ethernet loopback plug to make your Mac think that it is connected to a network hub. It's really simple and there's a wiring diagram at Allied Telesyn's web site. Scroll to the bottom of the page and take a look at Figure A-114. Many thanks to Jerry for figuring this one out!

    There is also a possibility that your Mac's network settings may be the culprit. MacOS X has settings for PPPoE, Point-to-Point Protocol over Ethernet, a method that some Internet service providers use to provide access to their network over high-speed Internet connections such as cable modem or DSL. Sometime this appears to interfere with UltraDev's ability to connect to the MySQL server. It is best that your Mac has a static IP address and that PPPoE is disabled. If you must run PPPoE, setting the "Connect automatically when starting TCP/IP applications" option in the PPPoE Options dialogue in the Network control panel may alleviate this problem. Many thanks to Terry for providing this information!

That's about it for the moment. If you have any suggestions for improvement for this web page, please let me know. I'm sure I missed something along the way. Please post suggestions, comments, corrections, etc. to the UltraDev newsgroup at nntp://forums.macromedia.com. I frequent the newsgroups regularly and will be happy to assist if I have the knowledge to do so. I'm not a PHP or MySQL guru, so I may not be able to answer any of those questions. If the information provided doesn't answer your question, let me know, and I'll see if I or some other folks who frequent the newsgroup can point you in the right direction.

Happy MacOS X Web Serving!

 

 
Copyright ©2001 Christopher Owens. The logos above are copyrighted by their respective owners, organization, and corporations.