[php-src] master: ext/phar: Improve various error messages (#22858)
Weilin Du via GitHub <[email protected]> Thu, 23 Jul 2026 10:05:25 +0000
| Newsgroups | gmane.comp.php.cvs.general |
|---|---|
| Message-ID | <[email protected]> |
Author: Weilin Du (LamentXU123)
Committer: GitHub (web-flow)
Pusher: LamentXU123
Date: 2026-07-23T18:05:22+08:00
Commit: https://github.com/php/php-src/commit/e65a4b0f53bdb5a368e07dd8e901edee56dfd615
Raw diff: https://github.com/php/php-src/commit/e65a4b0f53bdb5a368e07dd8e901edee56dfd615.diff
ext/phar: Improve various error messages (#22858)
Safe mode in phar is removed in PHP 5.4, so removing them in error messages.
Also fix some obvious typos in the error messages.
Changed paths:
M NEWS
M ext/phar/phar_object.c
M ext/phar/tar.c
M ext/phar/tests/dir.phpt
M ext/phar/tests/mkdir.phpt
M ext/phar/util.c
M ext/phar/zip.c
Diff:
diff --git a/NEWS b/NEWS
index 8c12e62f7c0b..63e4fdf0c244 100644
--- a/NEWS
+++ b/NEWS
@@ -38,6 +38,10 @@ PHP NEWS
. Fixed bug GH-22665 (Out-of-bounds write when the ODBC driver reports a
diagnostic message length beyond the error buffer). (iliaal)
+- Phar:
+ . Fixed grammatical issues and outdated terminology in Phar error messages.
+ (Weilin Du)
+
- Reflection:
. Fixed bug GH-22681 (Reflection*::__toString() truncates on null bytes).
(DanielEScherzer)
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index 9859551b3ccf..0139f0889a81 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -4136,7 +4136,7 @@ ZEND_ATTRIBUTE_NONNULL static zend_result phar_extract_file(bool overwrite, phar
}
if (php_check_open_basedir(fullpath)) {
- spprintf(error, 4096, "Cannot extract \"%s\" to \"%s\", openbasedir/safe mode restrictions in effect", ZSTR_VAL(entry->filename), fullpath);
+ spprintf(error, 4096, "Cannot extract \"%s\" to \"%s\", open_basedir restrictions in effect", ZSTR_VAL(entry->filename), fullpath);
efree(fullpath);
efree(new_state.cwd);
return FAILURE;
diff --git a/ext/phar/tar.c b/ext/phar/tar.c
index f85241ccc4e5..bc78472afce3 100644
--- a/ext/phar/tar.c
+++ b/ext/phar/tar.c
@@ -815,7 +815,7 @@ static int phar_tar_writeheaders_int(phar_entry_info *entry, void *argument) /*
if (sizeof(header) != php_stream_write(fp->new, (const char *) &header, sizeof(header))) {
if (fp->error) {
- spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, header for file \"%s\" could not be written", ZSTR_VAL(entry->phar->fname), ZSTR_VAL(entry->filename));
+ spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, header for file \"%s\" could not be written", ZSTR_VAL(entry->phar->fname), ZSTR_VAL(entry->filename));
}
return ZEND_HASH_APPLY_STOP;
}
diff --git a/ext/phar/tests/dir.phpt b/ext/phar/tests/dir.phpt
index db5d0262add5..84645e41d9d3 100644
--- a/ext/phar/tests/dir.phpt
+++ b/ext/phar/tests/dir.phpt
@@ -71,7 +71,7 @@ Warning: mkdir(): phar error: cannot create directory "fails" in phar "%sok.phar
Warning: mkdir(): phar error: cannot create directory "sub" in phar "%sok.phar", directory already exists in %sdir.php on line %d
-Warning: mkdir(): phar error: cannot create directory "sub/directory.txt" in phar "%sok.phar", phar error: path "sub/directory.txt" exists and is a not a directory in %sdir.php on line %d
+Warning: mkdir(): phar error: cannot create directory "sub/directory.txt" in phar "%sok.phar", phar error: path "sub/directory.txt" exists and is not a directory in %sdir.php on line %d
Warning: mkdir(): internal corruption of phar "%soops.phar" (truncated manifest at stub end) in %sdir.php on line %d
diff --git a/ext/phar/tests/mkdir.phpt b/ext/phar/tests/mkdir.phpt
index 2c1586b0de5c..9955574caacd 100644
--- a/ext/phar/tests/mkdir.phpt
+++ b/ext/phar/tests/mkdir.phpt
@@ -42,13 +42,13 @@ Warning: mkdir(): phar error: cannot create directory "phar://", no phar archive
Warning: mkdir(): phar error: cannot create directory "" in phar "foo.phar", phar error: invalid path "" must not be empty in %smkdir.php on line %d
-Warning: mkdir(): phar error: cannot create directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
+Warning: mkdir(): phar error: cannot create directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is not a directory in %smkdir.php on line %d
Warning: rmdir(): phar error: cannot remove directory "phar://", no phar archive specified, or phar archive does not exist in %smkdir.php on line %d
Warning: rmdir(): phar error: cannot remove directory "" in phar "foo.phar", directory does not exist in %smkdir.php on line %d
-Warning: rmdir(): phar error: cannot remove directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
+Warning: rmdir(): phar error: cannot remove directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is not a directory in %smkdir.php on line %d
Cannot create a directory in magic ".phar" directory
Cannot create a directory in magic ".phar" directory
bool(true)
diff --git a/ext/phar/util.c b/ext/phar/util.c
index 1f94be5a269d..c78ee50ece15 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -1226,7 +1226,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
if (!entry->is_dir && dir == 2) {
/* user requested a directory, we must return one */
if (error) {
- spprintf(error, 4096, "phar error: path \"%s\" exists and is a not a directory", path);
+ spprintf(error, 4096, "phar error: path \"%s\" exists and is not a directory", path);
}
return NULL;
}
@@ -1290,7 +1290,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
efree(test);
/* user requested a directory, we must return one */
if (error) {
- spprintf(error, 4096, "phar error: path \"%s\" exists and is a not a directory", path);
+ spprintf(error, 4096, "phar error: path \"%s\" exists and is not a directory", path);
}
return NULL;
}
diff --git a/ext/phar/zip.c b/ext/phar/zip.c
index 3085ee80c9aa..8703979f234b 100644
--- a/ext/phar/zip.c
+++ b/ext/phar/zip.c
@@ -959,7 +959,7 @@ static int phar_zip_changed_apply_int(phar_entry_info *entry, void *arg) /* {{{
}
if (-1 == phar_seek_efp(entry, 0, SEEK_SET, 0, false)) {
- spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
+ spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
return ZEND_HASH_APPLY_STOP;
}
@@ -1008,7 +1008,7 @@ static int phar_zip_changed_apply_int(phar_entry_info *entry, void *arg) /* {{{
if (-1 == phar_seek_efp(entry, 0, SEEK_SET, 0, false)) {
php_stream_filter_free(filter);
- spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
+ spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
return ZEND_HASH_APPLY_STOP;
}