Имеет ли место файл php на сервере LAMP?

На сервере LAMP я могу запустить php-файл непосредственно в папке www, но гораздо глубже (больше подпапки). Я не могу запустить php-файл. Есть ли настройки для этого?

[Thu Sep 28 02:50:35.987756 2017] [:error] [pid 893] [client 192.168.137.100:55784] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /srv/www/htdocs/test/tiltangle/dpd/query.php:12\nStack trace:\n#0 {main}\n thrown in /srv/www/htdocs/test/tiltangle/dpd/query.php on line 12, referer: 192.168.137.238/test/tiltangle/dpd/queryform.php root@web:/var/log/apache2# cat tail error.log
0
задан 28 September 2017 в 13:07

3 ответа

Проблема, которую вы видите, не имеет отношения к местоположению ваших файлов .php внутри иерархии каталогов DocumentRoot.

Проблема заключается в том, что вы вызываете устаревший (за год) mysql_ () API , а не API mysqli- () (обратите внимание на конечный символ «i» после mysql).

Этот API был устаревшим в течение многих лет + в PHP-7.0, наконец был удален, поэтому через PHP-5.6 вы 'd получили устаревшие сообщения об этом коде, сообщая вам обновить mysql_connect () до mysqli_connect ().

Начиная с PHP-7.0 весь этот старый код был удален, поэтому старые вызовы API теперь вызывают Fatals.

Итак, исправление заключается в изменении всех вызовов API на новый API.

Сделайте find + grep на всей вашей базе кода + убедитесь, что вы изменили все свои файлы.

У вас есть много файлов, которые вы можете использовать phpcs, чтобы найти все несовместимости + phpcbf для автоматического исправления большинства проблем.

0
ответ дан 22 May 2018 в 18:03
  • 1
    Между тем, я понял одно и то же решение, но этого было недостаточно, чтобы изменить mysql на mysqli. Также были изменены порядки параметров. Я закончил замену, но у меня появилось очень странное сообщение об ошибке. & Quot; Неопределенная переменная: фильтр в /srv/www/...../query.php в строке 104 " Эта строка не имеет проблем с PHP5 (mysql). 'if (! ($ b1 == ")) $ filter = $ filter. " и b & gt; = $ b1 ";; Это не имеет смысла. – István Radics 18 October 2017 в 10:50
  • 2
    Посмотрите программу phpcs. Эта программа обнаруживает несовместимости в PHP-коде. Связанная программа phpcbf автоматически устраняет многие из этих несовместимостей, такие как изменение вызовов mysqli * () вызовов mysql _ * () + переупорядочение вызывающих аргументов. Эти две программы являются массовыми вкладчиками времени, если у вас есть много файлов .php для изменения. – David Favor 18 October 2017 в 15:30

Проблема, которую вы видите, не имеет отношения к местоположению ваших файлов .php внутри иерархии каталогов DocumentRoot.

Проблема заключается в том, что вы вызываете устаревший (за год) mysql_ () API , а не API mysqli- () (обратите внимание на конечный символ «i» после mysql).

Этот API был устаревшим в течение многих лет + в PHP-7.0, наконец был удален, поэтому через PHP-5.6 вы 'd получили устаревшие сообщения об этом коде, сообщая вам обновить mysql_connect () до mysqli_connect ().

Начиная с PHP-7.0 весь этот старый код был удален, поэтому старые вызовы API теперь вызывают Fatals.

Итак, исправление заключается в изменении всех вызовов API на новый API.

Сделайте find + grep на всей вашей базе кода + убедитесь, что вы изменили все свои файлы.

У вас есть много файлов, которые вы можете использовать phpcs, чтобы найти все несовместимости + phpcbf для автоматического исправления большинства проблем.

0
ответ дан 18 July 2018 в 06:06

Проблема, которую вы видите, не имеет отношения к местоположению ваших файлов .php внутри иерархии каталогов DocumentRoot.

Проблема заключается в том, что вы вызываете устаревший (за год) mysql_ () API , а не API mysqli- () (обратите внимание на конечный символ «i» после mysql).

Этот API был устаревшим в течение многих лет + в PHP-7.0, наконец был удален, поэтому через PHP-5.6 вы 'd получили устаревшие сообщения об этом коде, сообщая вам обновить mysql_connect () до mysqli_connect ().

Начиная с PHP-7.0 весь этот старый код был удален, поэтому старые вызовы API теперь вызывают Fatals.

Итак, исправление заключается в изменении всех вызовов API на новый API.

Сделайте find + grep на всей вашей базе кода + убедитесь, что вы изменили все свои файлы.

У вас есть много файлов, которые вы можете использовать phpcs, чтобы найти все несовместимости + phpcbf для автоматического исправления большинства проблем.

0
ответ дан 24 July 2018 в 18:31

Другие вопросы по тегам:

Похожие вопросы: