Я дійшов висновку, що моя PHP-установка та моя MySQL-інсталяція не ладяться; Я працюю над створенням своєї першої веб-сторінки, яка використовує MySQL для вмісту, але через два дні, підручні сторінки, онлайн-документація та десятки навчальних посібників я просто не можу змусити PHP / MySQL частина працювати. У мене є створений домашній веб-сервер (я єдиний адміністратор / користувач), який запускає Apache і розміщує мої веб-сторінки. У мене встановлено MySQL, і я міг створити і запитувати базу даних через Термінал. У мене встановлено PHP, і я можу використовувати ехо для друку тексту в документ. Однак, коли я працюю з MySQL, все змінюється ...
У мене є сторінка, на якій містяться ініціалізаційні матеріали. містить кілька абзаців жорсткого коду HTML, а потім PHP-код для доступу до MySQL. Коли я вперше завантажив сторінку, все, що вийшло, було порожньою. Я прокоментував розділ PHP і перезавантажився, щоб підтвердити, що звичайний HTML все ще працює, що і зробив. Тому деяка частина PHP зберігала будь-яку сторінку з будь-якої завантаження.
Для початку усунення несправностей з кодом я залишив коментований весь код PHP, за винятком наступного коду для підключення до сервера, адаптованого з декількох різних навчальних посібників:
<?
echo("<p>PHP is working</p>");
$ses = mysql_connect("localhost","username","password");
if(!$ses){
echo("<p>Connection to content server failed.</p>");
exit();
}
echo("<p>Database Connected</p>");
?>
Коли сторінка завантажується, початковий HTML завантажується на додаток до абзацу з написом "PHP працює", але не з'являється жодного повідомлення про помилку чи успіх. Я вилучив з коду структуру If - так що залишилося лише два відлуння і mysql_connect - і отримав той самий результат.
Здається, що функція mysql_connect змушує сервер перестати завантажувати код під час його запуску, але я не маю ідеї, як це виправити. Для запису: я змінив файл php.ini, щоб він включав рядок "connection = msql.so", і використовую MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Крім того, і мій маршрутизатор, і модем були налаштовані для переадресації порту 3306 на сервер - хоча я не бачу, як це потрібно, - і моє ім'я користувача та пароль MySQL були перевірені втричі і ідентичні тим, які я успішно використовую у Терміналі.
Що я пропускаю?
php5-mysql
?